我使用的是 Emacs 23.2。这是我加载语义的方式:
(setq semantic-default-submodes '(global-semantic-idle-scheduler-mode
global-semanticdb-minor-mode
global-semantic-idle-summary-mode
global-semantic-mru-bookmark-mode))
(semantic-mode 1)
因此,如果我创建一个简单的 java 文件并访问它,我就会获得本地定义的方法和类的代码完成。但我不知道如何使 jdk 库的语义感知。例如,如果我尝试semantic-ia-complete-symbol
在字符串变量上,我得到Cannot find types for 'String blah'
.
有谁知道如何将jdk库加载到semanticdb中,以便可以使用标准对象类型(例如String)的代码完成?
从 CEDET 1.1 开始,Semantic 支持通过 javap 检索类信息。你需要设置cedet-java-jdk-root
变量到 JAVA_HOME,并填充semanticdb-javap-classpath
包含 Java 系统 jar 路径列表的变量,例如rt.jar
, etc.
有一篇文章 http://my-clojure.blogspot.de/2012/05/cedet-11-emacs-java.html(俄语,但你可以得到)关于为 Java 完成设置语义 - 请在那里查找更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)