尝试Microsoft Visual Code,找不到右键单击菜单中的所有引用?我想念什么?
查找Microsoft的C/C 工具中不存在所有参考选项,也不捆绑在VSCODE中。
https://github.com/microsoft/vscode-cpptools/issues/15
您需要安装VSC的C/C 扩展名,您可以在此处或在VSC Marketplace
总而言之,您需要借助GNU Global标签扩展名和 gnu global安装C/C Intellisense,并在工作区文件夹上运行gtags
。/p>
大多数人都会安装扩展名,但不能安装GNU全局,您可以通过执行which global
查看二进制或global --version
的路径,以检查版本是否为6.5或更高,如扩展名词中所示。
如果您以前做过这种事情,则从源构建和安装" global "是很简单的苹果,这是我在Ubuntu 19.04机器上安装GNU Global的方法。希望这可以轻松地适应其他Linux环境。
1)下载最新版本
wget http://tamacom.com/global/global-6.6.3.tar.gz
2)提取文件并进入其文件夹
tar -xzvf global-6.6.3.tar.gz
cd global-6.6.3
3)准备构建
./configure
4)检查是否需要依赖项并安装
我遇到了这个错误:
配置:检查" ncurses.h file的位置" ...配置:错误: 需要诅咒库,但找不到。如果您不使用 gtags-cscope,请尝试./configure -disable-gtagscscope
要找出如何获取此丢失的文件,我们可以使用apt-file
。安装它:
sudo apt install apt-file
应该告诉您"系统范围的缓存是空的。遵循建议:
sudo apt-file update
现在我们可以做:
apt-file find ncurses.h
显示:
ekg2-core: /usr/share/doc/ekg2-core/book-en/plugin-ncurses.html
ekg2-core: /usr/share/doc/ekg2-core/book-pl/plugin-ncurses.html
latrace: /etc/latrace.d/headers/ncurses.h
libghc-ncurses-doc: /usr/lib/ghc-doc/haddock/ncurses-0.2.16/ncurses.haddock
libncurses-dev: /usr/include/ncurses.h
libncurses-dev: /usr/include/ncursesw/ncurses.h
"/usr/include/"文件夹是一个很好的提示,即我们需要" libncurses-dev"。顺便说一句,在安装构建软件包时,带有"开发"后缀的包装通常是正确的:
sudo apt install libncurses-dev
这是一个迭代过程。返回步骤3,直到./configure
不再返回错误。对我来说幸运的是,就是这样。
5)构建全局
这只是通常的make
。我遇到了另一个错误:
警告:系统上缺少'MakeInfo'。
用:
固定的sudo apt install texinfo
再次运行make
,一切都很好。
6)安装
您需要将其作为root运行,以便它可以安装到root拥有的目录,例如"/usr/local/bin"。这些可能已经在您的路径环境变量上,这意味着我们只需要做:
sudo make install
7)创建标签文件
让我们检查一下我们现在是否正确安装了它:
global --version
显示
全球(GNU全球)6.6.3 由伯克利DB 1.85提供支持。版权(C)1996-2018 TAMA 通信公司许可GPLV3 :GNU GPL版本3或更高版本 http://www.gnu.org/licenses/gpl.html这是免费软件;你是 自由更改并重新分配它。没有保证, 法律允许的范围。
现在转到您的工作区文件夹,然后进行:
gtags
它不会告诉您任何事情,因此,如果您没有错误,就是这样。现在,您可以返回VS代码,然后再次尝试" 查找所有参考"。它应该只是工作!
顺便说一句,Netbeans 8.2曾经具有非常好的"查找参考"功能,甚至是一个很酷的呼叫图,如果您获得了C/C 捆绑包,并且一切都可以使用。自Apache接管该项目以来,现在在最近的版本中已经消失了,但是好消息是,一旦完成了此安装,VS代码就非常好。和与GDB岩石的VS代码集成!
今天的状态:
c/c vsc的伸展仍然不支持这一点。最新的" Insider"版本0.26正在搜索 - 非常非常慢 - 找不到所有参考。
gnu Global无法正确理解C (搜索对myClass :: open()的所有引用均在代码中找到所有"打开"函数 - 不仅属于此类)
现在工作解决方案:CCLS请参阅https://github.com/maskray/ccls/wiki/visual-studio-code