Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code Don';在为C项目使用可视化代码时,请不要查看“查找所有引用”选项_Visual Studio Code - Fatal编程技术网

Visual studio code Don';在为C项目使用可视化代码时,请不要查看“查找所有引用”选项

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或更高版

正在试用Microsoft Visual Code,但在右键单击菜单中看不到“查找所有引用”?我缺少什么?

您需要为VSC安装C/C++扩展,您可以在VSC市场上找到该扩展

Microsoft的C/C++工具中不存在“查找所有引用”选项,也没有将其捆绑在VSC代码中


总之,您需要安装扩展名,并在工作区文件夹上运行
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++扩展之后,“查找所有引用”也不存在