【问题标题】:Find another part of PartialClass in Visual Studio IDE?在 Visual Studio IDE 中查找 PartialClass 的另一部分?
【发布时间】:2020-01-08 19:28:47
【问题描述】:

假设我的应用程序中有一个partial class

假设我在 Visual Studio 中打开了这个类的一部分,我想找到其他部分。我怎样才能做到这一点?是否可以使用键盘快捷键或任何其他方法快速导航到班级的其他部分?

这将很有用,因为在大型应用程序中,有很多单独的 *.cs 文件,手动搜索部分类变得非常低效。

【问题讨论】:

  • 选择 并按 F12,您将在 Find Symbol 窗口中找到它们

标签: c# visual-studio


【解决方案1】:

如果您打开类名称的上下文菜单并单击“转到定义 (F12)”,则“查找符号结果”面板将显示在 Visual Studio 的底部(默认情况下)。在这里您可以找到该类的所有(部分)定义。

【讨论】:

  • 感谢您的回答....实际上我很困惑,因为我从 NET 下载了一个应用程序,该应用程序有一个定义为部分类的类,但虽然它没有另一部分,但它只有一个部分它是部分类...
  • 部分类可以存在一个或多个部分。所以你可能只找到一个定义。如果是这种情况,那么当您转到类的定义时,上面屏幕截图中的面板将不会显示。
  • ya...正是...如果只存在部分类的一部分,那么.....转到定义将不会显示上述窗口... ....非常感谢您再次回答....
  • 2 个部分类别 = 2 个结果,3 个部分类别 = 3 个结果,4 个部分类别 = 4 个结果,所以 n 个部分类别 = n 个结果?不傻。 1 个部分 class= 0 个结果。疯狂的事情是有人花费额外的编码时间使响应更加模棱两可。 “如果只有一个部分类,我们不应该显示任何内容,因为显然这比只显示我们已经拥有的单个结果以知道只有一个结果更不模棱两可”。
  • @Gerald "go to definition" 早于部分类,在 C# 2 中引入。 "部分窗口" 是后来添加的,显然当一个类只有一个定义时,"Go to定义”应该直接去那里。
【解决方案2】:

就我而言(Visual Studio 2013Visual Studio 2015)CodeCaster 描述的解决方案对我不起作用 - 查找符号结果未按描述显示在答案中。

但我找到了 2 种其他解决方法, 对我有用。 执行以下操作:


解决方案 1
使用 Visual Studio 2013/2015Visual Studio 2017Visual Studio 2019

测试
  1. 右键单击并选择“转到定义”。这将打开课程的一个(可能很多,但在大多数情况下是两个)部分。
  2. 将光标放在类名上进行标记,即
    public partial classMyClass
  3. F12“声明”窗口将打开。单击它以使其成为焦点。

  4. F8 导航到下一个,或按 SHIFT+F8 导航到上一个声明(或单击鼠标的上一个/下一个按钮)。

注意:只有当分部类超过 1 个时,才会看到找到分部类的文件名:


解决方案 2
使用 Visual Studio 2017

测试
  1. 将光标放在类名上进行标记,即
    public partial classMyClass
  2. ALT+SHIFT+F12。这将搜索整个解决方案中选择的符号。
  3. 类的所有出现都列在查找符号结果窗口中。

解决方案 2 的缺点是也列出了引用,而不仅仅是部分类。


更新答案,适用于较新版本的 Visual Studio (2019)。

【讨论】:

  • 查找符号结果(这是窗口的名称而不是命令的名称)。在VS2013中仍然存在。您可能隐藏了这个窗口,在这种情况下它不会出现。查看 > 查找结果 > 查找符号结果使其再次不隐藏。
  • @Gerald:谢谢你的提示,很高兴知道从哪里可以打开那个窗口。就我而言,这没有帮助,可能是因为我使用的是 ReSharper(如果您使用的是上下文菜单“转到声明”,那么“查找符号结果”窗口仍然为空)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多