我是Emacs的新手,版本是24.
正如标题中所提到的,我已经M-x package-install
从Marmalade-repo安装了auto-complete ,文件位于~/.emacs.d/elpa/auto-complete-1.4/
.
然后我关闭Emacs并打开一个新的框架,但编码时没有任何反应.
我需要一些配置才能让它运行吗?
在一些Eclipse项目中,我可以看到每个代码文件(.java)都有这样的代码模板:
public class AClass {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}
Run Code Online (Sandbox Code Playgroud)
我想在创建新的java类时自动生成这些注释,那该怎么办?
我尝试在Eclipse首选项中设置代码模板,但没有成功.
从这个 debian repo 安装了emacs-snapshot .在我的init.el中添加:
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
Run Code Online (Sandbox Code Playgroud)
当我使用Mx package-refresh-contents时,它会挂起大约2分钟并显示以下消息:
Contacting host: marmalade-repo.org:80
Run Code Online (Sandbox Code Playgroud)
然后用消息超时:
Failed to download `marmalade' archive.
Run Code Online (Sandbox Code Playgroud)
我可以使用tcpdump看到,软件包列表是实际取出.不确定错误发生的原因.尝试安装Marmalade页面提供的package.el,没有运气.
我在emacs 24下遇到gdb的困难.我使用-g开关编译了我的c代码,并且符号表在gdb中加载.我遇到的问题是,当我加载应用程序时没有显示源代码,没有可见的断点.我猜源代码缓冲区和gdb缓冲区之间似乎没有连接.
我之前在emacs下使用了gdb(emacs 22和23),它运行良好,现在却没有.我也试过它,emacs -q
所以没有插件加载,以防我的.emacs出错,没有快乐.
回顾一下(所以我没有得到"使用-g"编译答案):
annotate=3
gud-gdbGdb不使用源代码显示(带断点).我该怎么做才能解决它,或者至少我怎样才能找出问题所在?
我的spring web应用程序使用带弹簧的ajax,它基于spring提供的演示应用程序:
https://src.springframework.org/svn/spring-samples/mvc-ajax/trunk/ (其他信息:http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring- 3-0 /)
在客户端,我有一个表单(JSP):
<form:form modelAttribute="createLevel" action="createLevel" method="post">
<div class="form-item">
<form:label id="nameLabel" for="name" path="name" cssErrorClass="error">Level Name</form:label><br/>
<form:input path="name" /><form:errors path="name" />
</div>
<div class="form-item">
<input type="submit" value="Submit">
</div>
</form:form>
Run Code Online (Sandbox Code Playgroud)
我通过以下js方法将表单提交给服务器:
$("#createLevel").submit(function() {
var level = $(this).serializeObject();
$.postJSON("create.do", level, function(data) {
alert(data);
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
在服务器端,我有一个验证,如下所示:
public final class LevelDto extends AbstractDto implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
@NotNull
@Size(min = 2, max = 30)
@LevelExistsConstraint(message …
Run Code Online (Sandbox Code Playgroud) 我试图通过使用Guava 迭代es 列表来对几个实现相同接口的枚举类进行反向查找:Field
Class
Maps.uniqueIndex
Field valueOfSearchName = null;
for (final Class<? extends Enum<?>> clazz : ImmutableList.of(
EntityField.class,
AddressField.class,
PersonFunctionType.class)) {
valueOfSearchName = Fields.valueOfSearchName(clazz, term.field()); // error
if (valueOfSearchName != null) {
// do something...
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我不想在所有枚举类中重复相同的代码(用于制作索引和执行查找),因此我使用Fields
包含Fields.valueOfSearchName
方法的辅助静态类:
public static <E extends Enum<E> & Field> Field valueOfSearchName(
final Class<E> clazz, final String searchName) {
// TODO: cache the index
final ImmutableMap<String, E> index = Maps.uniqueIndex(
EnumSet.allOf(clazz), GET_SEARCH_NAME_FUNCTION);
return index.get(searchName);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,Eclipse显示错误:
Bound …
Run Code Online (Sandbox Code Playgroud) 我安装了Emacs入门套件.当我尝试安装并运行ECB时,它不起作用.
怎么了?如何使ECB与Emacs入门套件配合使用?
我尝试了两种方法:
ecb
到此处my-packages
所述的列表ecb
使用list-packages
命令安装两种方式都给出了相同的结果.在安装过程中,我收到了很多警告
In ecb-test-with-original-advice-set:
ecb-advice-test.el:122:16:Warning: reference to free variable `ecb-version'
In ecb-analyse-jump-to-tag:
ecb-analyse.el:443:24:Warning: `interactive-p' is an obsolete function (as of
23.2); use `called-interactively-p' instead.
Run Code Online (Sandbox Code Playgroud)
该文件的总大小是807行,我不知道如何添加它在这里保持帖子可读:)
当我尝试通过添加(require 'ecb)
到~/.emacs.d/$USER.el
Emacs启动时发生以下错误来启动ECB 时:
File error: Cannot open load file, ecb
Run Code Online (Sandbox Code Playgroud)
该变量load-path
不包含ecb文件的路径.当我启动Emacs时(require 'ecb)
没有错误并且load-path
包含字符串
"/home/maksim/.emacs.d/elpa/ecb-2.40"
.添加以下行
(add-to-list 'load-path (expand-file-name "~/.emacs.d/elpa/ecb-2.40"))
Run Code Online (Sandbox Code Playgroud)
使Emacs启动时没有错误,但ECB仍然无法工作,并按ecb-activate
下述方式执行操作.
如果我尝试通过调用启动ECB,ecb-activate
我会在*Messages*
缓冲区中看到以下内容:
ECB 2.40 uses CEDET 1.0 …
Run Code Online (Sandbox Code Playgroud) 使用Google番石榴的新系列,http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained
如何按插入顺序为每个键循环遍历MultiMap?
例如
multimap = new HashMultiMap<String,String>();
multimap.put("1", "value1");
multimap.put("1", "value2");
multimap.put("1", "value3");
multimap.put("2", "value11");
multimap.put("2", "value22");
multimap.put("2", "value33");
multimap.put("3", "value111");
multimap.put("3", "value222");
multimap.put("3", "value333");
Run Code Online (Sandbox Code Playgroud)
在我需要的每个循环上
"value1", "value11", "value111";
Run Code Online (Sandbox Code Playgroud)
然后是下一个循环
"value2", "value22", "value222";
Run Code Online (Sandbox Code Playgroud)
等等:
"value3", "value33", "value333";
Run Code Online (Sandbox Code Playgroud) 我想知道为什么在Spring DI中以下bean定义有效(我使用bean实例化和静态工厂方法和Guava Suppliers.ofInstance
):
<bean id="keySupplier" class="com.google.common.base.Suppliers"
factory-method="ofInstance">
<constructor-arg>
<value type="java.lang.String">someReallyLongValue <!-- note line break here -->
</value>
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
但这个没有:
<bean id="keySupplier" class="com.google.common.base.Suppliers"
factory-method="ofInstance">
<constructor-arg type="java.lang.String" value="someReallyLongValue" />
</bean>
Run Code Online (Sandbox Code Playgroud)
它抛出以下异常:
org.springframework.beans.factory.BeanCreationException:在类路径资源中定义名称为'userRepo'的bean时出错:
(...)
通过构造函数参数表示不满意的依赖关系,类型为[java.lang.Object]的索引为0:
不明确的工厂方法参数类型 - 您是否将正确的bean引用指定为工厂方法参数?
问题是,在我的情况下,当我使用第一个bean定义并使用非常长的字符串作为值时,我的编辑器会在字符串的最后一个字符后断行,这会导致该字符串与其他空格一起传递,Suppliers.ofInstance
结果它会破坏我的代码.
第二个定义对空格更严格,但令人惊讶的是,它不起作用(它可能无法处理泛型类型,尽管类型属性中指定了类型).
我可以强制Spring以<value>
某种方式忽略标记中的空格吗?
或者我使用<constructor-arg type="java.lang.String" value="someReallyLongValue" />
得当吗?或者我应该提交一个问题,因为它是一个Spring bug?
我宁愿不对字符串做任何假设(即string.trim()
在这里使用).
List
和之间有什么区别List<?>
?我知道我不能添加任何元素List<?>
.我有一个代码:
List<String> myList = new ArrayList<String>();
processList(myList);
processListGeneric(myList);
public static void processList(List myList) {
Iterator it = myList.iterator();
while(it.hasNext())
System.out.println(it.next());
}
public static void processListGeneric(List<?> myList) {
Iterator<?> it = myList.iterator();
while(it.hasNext())
System.out.println(it.next());
}
Run Code Online (Sandbox Code Playgroud)
这两个方法的名称不能相同,因为它会导致编译时错误.那么这两种方法有什么不同吗?
java ×6
emacs ×4
emacs24 ×4
elisp ×2
guava ×2
autocomplete ×1
eclipse ×1
enums ×1
gdb ×1
generics ×1
marmalade ×1
package ×1
spring ×1
spring-mvc ×1
validation ×1