在Emacs 24+的开发版本中,通过ELPA使用jtags-mode
(版本0.96),我似乎无法以编程方式启用次要模式(手动调用可以正常工作)。在我钻研了我所尝试过的血淋淋的细节以及我期望能够工作的设置之前,最重要的是,在向Java钩子变量添加jtags-mode
之后,当我第一次访问Java源代码时,我得到了Emacs的以下抱怨文件:如何自动启用Emacs jtags-mode?
Toggling jtags-mode off; better pass an explicit argument. [2 times]
后彻底阅读jtags-mode
设置的文档,我希望下面就足矣:
;; Support for Java coding.
(autoload 'jtags-mode "jtags" "Toggle jtags mode." 1)
(defun java-setup()
(setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92)
indent-tabs-mode nil
tab-width 4
fill-column 96
c-comment-start-regexp "\\(@\\|/\\(/\\|[*][*]?\\)\\)"
jtags-display-menu-flag t
jtags-mode 1)
(java-mode-indent-annotations-setup))
(add-hook 'java-mode-hook 'java-setup)
(add-hook 'java-mode-hook 'jtags-mode)
...
但是,这导致了投诉上方。自从我试图在java-setup()
函数中直接调用jtags-mode
,无济于事。
如果没有明显或简单的解决方案,我很乐意指出如何调试此问题。
是的,这是我尝试过的许多事情之一,再次无济于事。谢谢。 – pajato0 2012-04-22 20:19:15
尝试清除'java-mode-hook'变量(或重新启动Emacs)。如果你不这样做,你仍然会调用添加到它的所有函数(包括'jtags-mode')。 – Lindydancer 2012-04-23 05:44:16
这是问题!谢谢,很好地完成。 – pajato0 2012-04-23 05:46:52