Visual Studio 15 - 重命名错误:在选定范围内找不到引用

uni*_*nob 6 c++ visual-studio visual-studio-2015

重命名失败,但仅限于我的解决方案之一。

每次我尝试重命名变量/函数时,它都会提示更改名称,然后失败并出现以下错误:

在所选范围内未找到参考文献。所选范围是整个解决方案,因此我怀疑有问题。

我发现以下帖子: https: //social.msdn.microsoft.com/Forums/vstudio/en-US/37deb1a5-daa5-47c7-ab50-ed8e57bcf111/rename-class-does-not-work-no-references-在所选范围内找到?forum=visualstudiogeneral

但我担心重置设置会删除每个项目的当前设置。我只是不明白为什么重命名只有我正在研究的 4 个解决方案之一失败。

joa*_*kie 5

按照您和其他人的建议扩展范围仅在 VS 实际识别您的参考文献的情况下才有效。如果“查找所有引用”(在您喜欢的任何范围内)有效,则重命名也将有效(如果您选择正确的范围)。

但很多时候(我经常遇到)这是 VS 中的一个错误,不幸的是,即使在今天,这个错误在Visual Studio (Community) 2022 v17.0.5中仍然存在。它可以以奇怪的方式呈现,例如您可以重命名一些东西,但只能重命名一次。其他时候,您甚至无法重命名仅出现在连续两行中的单个局部变量。

可以从这个问题找到更多信息,当 VS 无法跟踪引用时,我将引用对我有用的唯一解决方案:

  1. 关闭 Visual Studio 的所有实例
  2. 在解决方案中找到 .vs 隐藏文件夹。
  3. 删除整个隐藏的 .vs 文件夹。
  4. 重建解决方案


uni*_*nob 2

正如我上面提到的,解决方案是扩大范围。我不确定为什么需要扩大范围。这些文件位于项目内部,并且是该项目的版本控制范围的一部分。

  • 通过从“当前解决方案”切换到“当前项目”使其工作。也没有意义——项目不是解决方案的一部分吗? (2认同)