3

当我编写一个测试方法时,我输入“testm”,点击 tab 并神奇地看到:

[TestMethod]
public void MethodName()
{

}

当我输入 methodName 时,它​​会突出显示(此处无法显示)作为我正在填写的“字段”。我相信你们都熟悉这种行为。

就个人而言,我喜欢我的测试方法的名称,例如 Can_My_Method_Do_That_Thing而不是CanMyMethodDoThatThing. 我发现它们更容易阅读,而且大多数时候它们实际上是一个句子。

由于我不想进入的原因,我很难输入所有这些_字符,我希望能够使用空格键,并在我按“Enter”时自动替换名称中的空格。

我听说 Visual Studio 是可扩展和可定制的等等。它的可扩展性足以做到这一点吗?

4

4 回答 4

7

您可以实现和使用自己的代码片段,Microsoft 提供了一个非常好的指南来说明如何做到这一点:演练:实现代码片段

要快速了解“testm”扩展(即片段类型)是如何“部分”实现的,您可以转到c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Test\目录并编辑testmethod.snippet文件。

我自己从未实现过这种“扩展”,但微软的扩展编辑器网站是一个非常好的信息来源,可以了解如何实现这一点。这是你应该开始寻找的地方。

于 2011-11-23T21:07:22.580 回答
2

如果您安装CodeRush Xpress,那么您不仅可以获得一些出色的免费生产力和重构工具,而且还有一个CodeRush Xpress 插件的开源社区

我发现这个插件(几乎)完全符合您的要求。

需要注意的是,它是为 NUnit 而不是 MSTest 开发的,因此您将获得 [Test] 属性而不是 [TestMethod] 属性。由于这是开源的,因此根据您的要求修改代码应该相当容易。

于 2011-11-30T13:07:21.900 回答
1

我建议的最好方法是研究编辑器的可扩展性并解决它。以下步骤是您可能需要做的。

  1. 将键映射到您的“强调”操作。
  2. 使用编辑器扩展点,您可以访问选定的文本并对其进行处理。
  3. 最后更换它。

一个建议。尽管必须通过 MEF 和类似的东西,学习曲线可能有点高。但它值得。

于 2011-11-26T18:06:28.500 回答
0

另一种值得考虑的方法是使用外部工具重新映射键盘。例如,让AutoHotKeytestm[Tab]击键序列做出反应并切换到将空格映射到下划线的模式应该很简单(或在键入后立即删除每个空格并添加下划线)。同样,Enter 键可以再次将其切换出该模式。

于 2011-11-23T22:35:21.843 回答