Visual studio code Don';在为C项目使用可视化代码时,请不要查看“查找所有引用”选项
正在试用Microsoft Visual Code,但在右键单击菜单中看不到“查找所有引用”?我缺少什么?您需要为VSC安装C/C++扩展,您可以在VSC市场上找到该扩展Microsoft的C/C++工具中不存在“查找所有引用”选项,也没有将其捆绑在VSC代码中Visual studio code Don';在为C项目使用可视化代码时,请不要查看“查找所有引用”选项,visual-studio-code,Visual Studio Code,正在试用Microsoft Visual Code,但在右键单击菜单中看不到“查找所有引用”?我缺少什么?您需要为VSC安装C/C++扩展,您可以在VSC市场上找到该扩展Microsoft的C/C++工具中不存在“查找所有引用”选项,也没有将其捆绑在VSC代码中 总之,您需要安装扩展名和,并在工作区文件夹上运行gtags 大多数人都会安装扩展,但GNU Global不会,您可以通过执行which Global查看二进制文件的路径,或者执行Global--version检查版本是否为6.5或更高版
总之,您需要安装扩展名和,并在工作区文件夹上运行
gtags
大多数人都会安装扩展,但GNU Global不会,您可以通过执行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文件的位置”。。。配置:错误:
curses库是必需的,但未找到。如果你不打算使用
gtags cscope,请尝试/配置--禁用gtagscscope
要了解如何获取此丢失的文件,我们可以使用apt file
。安装时请使用:
sudo apt install apt-file
它应该告诉您“系统范围的缓存为空。您可能希望运行‘apt文件更新’”。请遵循以下建议:
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”正是我们所需要的。顺便说一句,在为构建安装软件包时,带有“dev”后缀的软件包通常是正确的:
sudo apt install libncurses-dev
这是一个迭代过程。返回步骤3,直到/configure
不再返回错误。幸运的是,就是这样
5) 构建全球
这只是通常的make
。我遇到了另一个错误:
警告:您的系统上缺少“makeinfo”
固定为:
sudo apt install texinfo
再次运行make
,一切都很好
6) 安装
您需要以root用户身份运行它,以便它可以安装到root用户拥有的目录,例如“/usr/local/bin”。这些可能已经存在于PATH环境变量中,这意味着我们只需要执行以下操作:
sudo make install
7) 创建标记文件
让我们检查一下现在是否已正确安装:
global --version
显示
全球(GNU全球)6.6.3
由伯克利DB1.85提供动力。版权所有(c)1996-2018塔马
通信公司许可证GPLv3+:GNU GPL版本3或更高版本
这是自由软件;你是
可以自由更改和重新分发。对客户而言,没有任何保修
法律允许的范围
现在转到工作区文件夹并执行以下操作:
gtags
它不会告诉你任何事情,所以如果你没有得到错误,这就是它。现在您可以回到VS代码并再次尝试“查找所有引用”。它应该就行了
顺便说一句,以前有一个非常好的“查找引用”功能,甚至还有一个很酷的调用图,如果你有C/C++捆绑包的话,这一切都是开箱即用的。自从Apache接管该项目以来,这一点已经在较新的版本中消失了,但好消息是,一旦安装完成,VS代码就相当不错了。以及VS代码与gdb的集成 今天的状况:
- VSC的C/C++扩展仍然不支持此功能。最新的“内幕”版本0.26正在搜索-非常缓慢-并没有找到所有的参考 <> > Gnu Global不能正确理解C++(查找所有引用MyClass:::)(查找代码中的所有“打开”函数,不只是属于该类)
目前的工作解决方案:CCLS请参见扩展(直到今天)不支持此功能不可能!这将节省大量时间,不再对整个源代码进行grepping。不,即使在安装了C/C++扩展之后,“查找所有引用”也不存在