【问题标题】:Does Visual Studio support C++ code indexing?Visual Studio 是否支持 C++ 代码索引?
【发布时间】:2013-11-27 17:05:44
【问题描述】:

Visual Studio 是否有针对 C++ 的源代码索引功能?也就是说,它静态解析您的项目,将符号存储在索引中,以便您可以轻松快速地跳转到符号的定义或查看它的用途(即调用层次结构)?

据我所知,在 Visual Studio 2010 中,它具有“转到定义”和“查看调用层次结构”功能(如果您右键单击一个符号),但需要很长时间(我的项目需要一分钟) ) 查找信息并执行操作。在某些情况下,它似乎在进行粗略的文本搜索。

我习惯使用带有索引器的 Eclipse,因此这些操作几乎是即时的(在索引完成之后)。

【问题讨论】:

  • VisualAssist(Visual Studio 的插件)具有此功能,或者至少可以更好地实现 Visual Studio 的功能。然而,当数据库重建时仍然会发生长时间的停顿(这似乎是随机发生的)。
  • 你认为它为什么会进行粗略的文本搜索?
  • 1 分钟是相当长的时间。在 150kloc C++ 代码库上,这里需要 0-3 秒。

标签: c++ visual-studio-2010 visual-studio indexing


【解决方案1】:

是的,Visual Studio Intellisense 就是这样做的。如果您的“转到定义”需要很长时间,则表明该项目未在 Visual Studio 中正确设置。您应该能够将鼠标悬停在符号(函数名称、变量名称等)上,Intellisense 应该会立即弹出。

Intellisense 缓慢或不正确的一个原因是从文件夹结构创建新项目。如果您在复杂的文件夹层次结构中有一堆 .cpp 和 .h 文件,有时项目不会以 Intellisense 可以轻松进行符号索引的方式创建。此外,如果您的项目使用大量第三方库,则需要确保头文件包含在您的项目中,否则 Intellisense 将无法对这些符号执行任何操作。

【讨论】:

  • 我应该更正我原来的问题。事实证明,Intellisense 似乎正在工作(将鼠标悬停在符号上时立即查看信息),并且“转到定义”几乎是即时的。但是当我单击“查看调用层次结构”并查找对函数的调用时,这至少需要一分钟。我确实有一个复杂的项目结构。我的 VS“解决方案”是一个单元测试工具,它由取自更大的非 Windows 代码库的文件夹组成。
猜你喜欢
  • 2011-02-16
  • 2022-01-19
  • 2011-12-14
  • 1970-01-01
  • 1970-01-01
  • 2022-11-08
  • 2023-01-02
  • 2020-03-19
  • 2020-08-04
相关资源
最近更新 更多