#include<iostream>
#include<stdio.h>
#include"Sqstack.h"
#include <stack>
比如上述的include头文件,有什么办法跳转打开标准库头文件以及项目下的头文件?
试过gtags,ctags之类的,貌似设置等等都挺麻烦,还配置不好。semantic好像也有这个功能,但是不会用。
如果大家推荐插件,最好能贴以下自己的配置,设置之类的。网上找了一些教程,弄不起来。好纠结,就没个简单的插件能够直接做这个跳转打开功能么?我想Emacs是应该有的,可能是我不知道而已。
可以看看这个 Emacs C++, opening corresponding header file
根据自己项目配置相应查找目录,我的配置如下:
(local-set-key (kbd "C-x C-o") 'ff-find-other-file)
(setq ff-quiet-mode t)
;; 找不到同名文件时不创建
(setq ff-always-try-to-create nil)
(setq cc-search-directories '("."
"/usr/include"
"/usr/local/include/*"
"../*/include"
"../*/src"
"$PROJECT/include"
"$PROJECT/src"
"/usr/local/opt/llvm/include/c++/v1"
))
这个我试了不行,说找不到 iostream 是不是还有什么其他需要设置的?
这个 lsp-mode 对单文件的 C++ 源代码文件,应该怎么操作?具体哪个命令执行搜索打开头文件的?我搜索了Emacs命令 lsp header
, lsp switch
, lsp file
, lsp find
等,都没找到打开头文件的命令。试了 lsp-find-declaration
命令,提示错误:
lsp--send-request-async: The connected server(s) does not support method textDocument/definition
To find out what capabilities support your server use ‘M-x lsp-describe-session’ and expand the capabilities section.
我没有用lsp-mode,你可以查询下论坛中大佬的配置。我用的是猫哥写的nox 这个lsp客户端连接clangd,如果你也想用nox,可以直接参考作者的emacs配置。 或者你直接用Clangd官网推荐的eglot也行,https://clangd.llvm.org/installation.html,官网有具体配置方法,设置也简单。 nox相当于eglot的简化版,比较简洁。
2 个赞