转到定义和查找引用不起作用

Go to Definition and Find References not working

我对Visual Studio Code很感兴趣,Microsoft 一年半前发布的新编辑器。如果我能掌握它,我想我会在 Ubuntu 上切换到它。所以我做了一个 "Hello, World!" 程序,试图找到如何配置和使用 VSC 的功能。

我在 VSC 的网站和一些视频中看到了如何配置文件夹以便您可以转到定义和查找参考,但它似乎对我不起作用。不知道是我哪里做错了还是VSC的bug。

Here is what my folder looks like。我基本上已经使用默认设置设置了 tasks.jsonlauncher.jsonc_cpp_properties.json 文件(编译和调试工作正常),但是正如您在下面的屏幕截图中看到的那样,似乎没有索引因为在 main.cpp 中没有找到任何符号(即使我添加了新函数)。此外,尝试查找 i 变量的引用会导致 No results,并且要求查找 i 的定义不会执行任何操作。

我已经试过了:

这是屏幕截图。请注意左侧我安装的扩展程序。

我所看到的一切都无法帮助我理解问题所在。我做错了什么吗?我在 Ubuntu 16.04.

我还在一个相当大的 C 项目中使用 Microsoft 的插件 C/C++。 C 符号引用效果很好。也许您可以尝试将您的项目根目录添加到 c_cpp_properties.json.

中的 "includePath"

但我很确定,函数的局部变量没有被解析。

可能是 C++ intellisense 插件与 Microsoft C++ 插件冲突。你能禁用 Austin 提供的插件吗 ? Clang 插件也不是必需的。 Microsoft 插件集成了 Clang 支持和代码完成功能。

当我问我的问题时,我在 Ubuntu 虚拟机上。昨天,我在我的硬盘上安装了一个 Ubuntu 分区,并且 vscode 工作完美,可以查看定义,查找参考等

几个小时后,我遇到了与 post 时相同的情况。但后来我只是关闭并重新打开 VSCode,它又起作用了。绝对是 VSCode 错误。

编辑:似乎与 this one.

的问题相同

Linux 的 Microsoft C/C++ vscode 扩展的几个二进制文件是 64 位的。因此,如果您使用的是 32 位 Linux,某些 cpptools 功能将无法使用。你可以检查issue on GitHub