ReSharper for VSTO
Visual Studio 提供的众多项目模板之一涉及 Microsoft Office 插件的开发。 这些插件可以使用 .NET 语言(如 C# 或 VB)开发,因此 ReSharper 可以直接支持它们。 让我们来看看如何利用 ReSharper 的功能改进 PowerPoint 插件的开发。
一切都从为您的插件选择一个模板开始。 尽管 Office 模板按版本区分,但实际上 Office 2010 和 2013 项目是相互兼容的,因此 2010 项目在 2013 上也能正常运行。 这里的选择仅影响您的调试可能性,也就是说,您选择的版本将使项目只能在该版本的 MS Office 上进行调试。

通常情况下,默认的项目模板会添加相当多的 using 语句,而 ReSharper 可以帮助您通过以下方式删除它们:

默认的 启动 和 关闭 事件的事件绑定也过于冗长——在下面的截图中, 此 前缀是多余的,并且没有必要用新的 System.EventHandler 包裹事件绑定:

与其一个一个地修复这些问题,ReSharper 为您提供了几种选项。 首先,每种类型的问题都可以在特定范围内 修复——在文件、项目或整个解决方案中:

或者,如果您想修复不同类型的代码样式问题,可以调用 代码清理操作 Control+Alt+F。 此操作是 可配置的 ,允许您选择要修复的问题类型:

顺便说一句,如果您认为区域不好,您可能想要删除那些围绕 #region 指令的 InternalStartup() 方法。 ReSharper 为您提供了一个 上下文操作 ,可以立即完成此操作:

现在,您可能希望为插件添加自己的功能。 如果您愿意,可以直接在插件文件中开始添加类,因为完成后,ReSharper 会为您提供一个上下文操作,将类移动到单独的文件中:

现在,几乎可以肯定,您将订阅各种事件,例如由功能区中的按钮按下生成的事件。 您不必坚持使用基于下划线的命名约定——按下 F2 即可重命名方法。 ReSharper 会询问您希望如何重命名处理程序,甚至会提供建议:

当然,如果您最终在代码中重命名了方法——这也没问题,ReSharper 会跟踪这些更改。 当重命名的符号被边框包围时,按下 Alt+Enter ,其中一个操作将提供应用相同的 重命名重构:

使用 ReSharper 导航也非常轻松。 例如,要找到功能区加载时的代码位置,您可以按下 Control+N 调出 搜索所有内容对话框。 开始输入 功能区 ,您将在列表中看到确切的方法,当然还有类型:

ReSharper 还有一个方便的 导航到菜单,可以通过按下 Control+Shift+G 打开。 当您想从特定符号导航时,它非常有用。 例如,假设您想查看 ThisAddIn 的生成方法。 首先,您需要通过 转到类型 (按两次 Control+N 并开始输入其 CamelHumps缩写)找到它:

然后,将光标放在类名上,按下 Control+Shift+G 调出 导航到 菜单并选择 相关文件:

现在,ReSharper 会向您显示此部分类的第二部分。 您可以选择要导航到的文件:

希望本指南向您展示了一些 ReSharper 在开发 VSTO 插件时可以提供帮助的方法。