当我编写测试方法时,我输入“testm”,点击标签并神奇地看到:
[TestMethod]
public void MethodName()
{
}
当我输入methodName时,它会突出显示(不能在此处显示)作为我正在填写的“字段”。我确信你们都熟悉这种行为。
就个人而言,我喜欢我的测试方法的名称 Can_My_Method_Do_That_Thing 而不是 CanMyMethodDoThatThing 。我发现它们更容易阅读,而且大多数时候它们真的是一个句子。
由于我不想进入的原因,我很难输入所有 _ 字符,我希望能够使用空格键,并且在空格中有空格当我点击“Enter”时,名称会自动替换。
我听说Visual Studio是可扩展和可自定义的等等。它是否足够可扩展?
答案 0 :(得分:7)
您可以实现并使用自己的代码段,Microsoft提供了一个非常好的指南,指导如何完成此操作:Walkthrough: Implementing Code Snippets
要快速了解“testm”扩展(即片段类型)是如何“部分”实现的,您可以转到c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Test\
目录并编辑testmethod.snippet
文件。
我自己从未实现过这种“扩展”,但微软的Extending the Editor网站是如何实现这一目标的非常好的信息来源。这是你应该开始寻找的地方。
答案 1 :(得分:2)
如果您安装CodeRush Xpress,那么您不仅可以获得一些出色的免费工作效率和重构工具,而且CodeRush Xpress还有open source community个插件。
我发现this plugin几乎完全符合您的要求。
需要注意的是,它是为NUnit而不是MSTest开发的,因此您将获得[Test]属性而不是[TestMethod]属性。由于这是开源的,因此根据您的要求修改代码应该相当容易。
答案 2 :(得分:1)
我建议的最佳方法是查看编辑器的可扩展性并进行处理。您可能需要执行以下步骤。
一个建议。虽然学习曲线可能有点高,不得不通过MEF和类似的东西。但它值得。
答案 3 :(得分:0)
另一个值得考虑的方法是使用外部工具重新映射键盘。例如,让AutoHotKey对 testm [Tab] 键击序列作出反应并切换到将空格映射到下划线(或尽快删除每个空格)的模式应该很简单因为它是键入并添加下划线)。同样,Enter键可以再次将其切换出该模式。