【发布时间】:2009-01-21 18:21:57
【问题描述】:
是否有任何类型的插件或工具可用于 Visual Studio 2008 以按字母顺序排列方法?理想情况下,我想要一个自动或按需按字母顺序排列选择或指定类型(即只有方法,而不是成员变量)的工具。
【问题讨论】:
标签: visual-studio visual-studio-2008 coding-style resharper organization
是否有任何类型的插件或工具可用于 Visual Studio 2008 以按字母顺序排列方法?理想情况下,我想要一个自动或按需按字母顺序排列选择或指定类型(即只有方法,而不是成员变量)的工具。
【问题讨论】:
标签: visual-studio visual-studio-2008 coding-style resharper organization
虽然 Resharper 具有许多很酷的功能,但它对 CPU 和 I/O 的使用有很大的影响,并且使用起来可能非常复杂。它也只能在商业许可下使用,除非您有资格获得一些非常具体的免费使用许可。
试试CodeMaid。它可以免费用于商业用途,并且性能开销要低得多。我发现它易于使用,并且非常适合按字母顺序排列方法。
要对文件进行排序,请通过解决方案资源管理器打开文件:
Reorganize Active Document
或者,使用默认的 CodeMaid 热键 CTRL+M,Z 对活动文件进行排序。
【讨论】:
以下答案比 OP 要求的要远得多,因为我相信,仅按名称排序方法对于大多数程序员来说是远远不够的。大多数情况下,您希望您的方法、构造函数、字段、事件处理程序和接口实现彼此分离(即通过区域),并按各种标准排序。
为此,我尝试了NArrange、Regionerate 等,但我发现它们使用起来并不直观。所以 ReSharper 成为我选择的工具。
正如@DavidN 已经提到的,ReSharper 可以按名称、可访问性、类型、只读等对您的类成员(字段、构造函数、方法、委托)进行排序......您还可以用区域包围特定成员。我最喜欢的是对接口成员进行分组的能力(例如,#region IDisposable 和 void Dispose() 方法)和处理事件的方法。
ReSharper 提供了两者 - 一种配置和触发类成员排序的简单方法。
配置布局
在 Visual Studio 中创建一个 XML 文件,并将默认类型成员布局(ReSharper 选项 > 语言 > C# > 类型成员布局)复制粘贴到该文件中。下载最新的XSD schema。将架构文件添加到 Visual Studio 的架构文件(菜单 > XML > 架构... > 添加)。您现在应该可以使用 IntelliSense 支持编辑 XML 文件了。
触发重新排序
如果您使用 Visual Studio 键盘方案(ReSharper 选项 > Visual Studio 集成)并按 Ctrl+E,F for 静默代码清理。将弹出一个对话框,您可以在其中选择 代码清理 设置。对于此设置,您应该检查重新排序类型成员。第二次按下快捷键时,ReSharper 会自动重新排序您的班级成员。
【讨论】:
对于 C#,您可以使用 Regionerate 来组织您的代码。您可以创建一个简单组织代码但不使用区域的模板。
【讨论】:
您可以使用Devexpress'免费的DXCore 产品(用于创建CodeRush 的相同扩展框架)自己创建这样的函数。
【讨论】: