Visual Studio的“转到定义”跳到了错误函数/行?

8

在我的项目代码行数达到6-7k之后,发生了这种情况:某些函数的“转到定义”会跳转到错误的行。主要是那些我在项目开始时编写的旧函数,而对于新的函数则能正常工作。

最重要的是,这只会发生在特定的.c文件中的旧函数上。(我正在编写一个C程序,并在相应的.c文件中包含头文件并定义每个使用的函数,但不确定这是否有影响)。

所以当我在那个.c文件中使用一个旧函数并尝试使用F12时,它会跳转到错误的行/函数,几乎感觉它正在返回其旧行号。

我正在使用visual studio 2019,如何解决这个问题?


1
这在Visual Studio 2022 17.3.0中仍然存在,我们应该提交一个错误报告。考虑到产品的成熟度,需要经常手动删除隐藏文件夹来解决这个问题是一件遗憾的事情。 - Cee McSharpface
@CeeMcSharpface,我觉得这只会在项目变得非常庞大时才会发生,小型项目从未出现过。你有同样的情况吗? - OneAndOnly
我只有几个文件,大约不超过61000行代码。 - Cee McSharpface
2个回答

15
删除 .vs 文件夹可以解决此问题,但会删除一些设置。
我通过重新创建数据库来解决此问题:工具-> 选项-> 文本编辑器-> C / C ++-> 高级-> 重新创建数据库== True。 然后重新启动Visual Studios。 enter image description here

删除 .vs 文件夹会导致哪些设置被删除?项目设置不是存储在 .vcxproj* 文件中吗? - OneAndOnly
根据 链接 ,“您可能会丢失与解决方案相关的用户状态,例如构建配置、本地调试设置、打开的选项卡、项目配置(如配置文件类型、启动类型等)等。”除此之外,我不太确定是否还有其他内容被删除,但我宁愿不冒险。 - Zachwuzhere
重新创建数据库对我来说有效,而无需删除.vs目录。 - ChangUZ
重新创建数据库非常成功,谢谢! - GuardianX
解决了。我应该保留"重新创建数据库"=true还是恢复原样? - hamavreg

2

尝试这个:

  • 关闭 VS
  • 删除 .vs 文件夹
  • 重新打开 VS

对我有效


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接