我必须使用一个C/C++构建环境,该环境将中间文件拖到各处:
.i文件(大致为原始C).s文件CEDET (我假设语义分析器)最终会找到这些文件并尝试对它们进行索引。这会导致跳转到包含原始C的.i文件中进行定义,并且通常会减缓.semanticdb的解析和加载。
我从不用emacs打开这些文件,所以它们必须由后台分析器加载。
是否有可能阻止分析器加载这些文件?我找不到任何配置选项来定义由后台分析器解析的文件类型。
发布于 2014-12-05 09:54:22
如果这些文件不需要C模式,下面是一个快速修复:
(add-to-list 'auto-mode-alist '("\\.i\\'" . fundamental-mode))
(add-to-list 'auto-mode-alist '("\\.s\\'" . fundamental-mode))发布于 2014-12-11 23:45:15
abo-abo的回答给了我我需要的线索。grep实现(由semantic-symref-perform-search使用)在试图解析符号时使用auto-mode-alist查找给定语义模式的匹配文件(基于当前缓冲区的模式--例如`c-模式)。
我使用的最后一个修复方法是使用以下方法专门消除auto-mode-alist中的默认条目:
(delete '("\\.i\\'" . c-mode) auto-mode-alist) (delete '("\\.ii\\'" . c++-mode) auto-mode-alist)
按照abo的建议添加fundamental-mode条目似乎也有效,但是我担心,由于c-mode条目仍然在列表中,实现上的更改可能会导致它们被重新激活。
https://stackoverflow.com/questions/27309047
复制相似问题