2

可以自定义目录以存储 CEDET 自动生成的文件的变量名称是什么,例如 ede-projects.el 和 srecode-map.el?默认情况下它们位于 ~/.emacs.d 中,但我想将它们移动到其他地方。谢谢!

4

2 回答 2

3

对于“ede-projects.el”,我发现在加载 Cedet 后直接放置了下一个解决方案:

(setq ede-project-placeholder-cache-file (concat tmp-dir "ede-projects.el"))

其中“tmp-dir”是您想要的路径。

语义也是如此:

(setq semanticdb-default-save-directory (concat tmp-dir ".semanticdb"))

对于“srecode-map.el”,我发现没有比“..\cedet\lisp\cedet\srecode\map.el”中的第 48 行更好的方法了:

  (locate-user-emacs-file "srecode-map.el" ".srecode/srecode-map")

  (locate-user-emacs-file (concat tmp-dir "srecode-map.el") ".srecode/srecode-map")

我不确定,但必须有一个变量而不是硬编码字符串。

于 2014-04-13T14:31:30.940 回答
2

作为 AdVocem 的回答(完全正确)的补充,这里有一种或多或少系统化的方法来查找此类变量:使用命令apropos-value.

此命令查找其值与给定模式匹配的所有 lisp 变量。例如在你的情况下:

  • M-xapropos-valueRETede-projects.elRET产生,除其他结果外:

    [...]
    ----------------
    ede-project-placeholder-cache-file
       "~/.emacs.d/ede-projects.el"
    
    ----------------
    [...]
    
  • M-xapropos-valueRETsrecode-map.elRET没有产生任何有趣的东西:只是一堆与 CEDET 无关的标准变量。

当然,要使其生效,必须事先加载所有相关库(否则可能尚未定义变量)。

于 2014-04-13T22:23:33.200 回答