常常写代码的人,应该都对Visual Studio的智能感知有一定的好感,通过它,在输入比较长的对象名称时不觉得吃力了。恐怕这是.net平台比其他平台的代码更加易读的一个因素,因为每 个变量名称都比较有意义,而不是晦涩的varIdx,pElemDisp之类了。尽管这样看起来很酷。
在没有Resharper之前,Visual Studio的自动完成功能就很强大了。只是它定义的快捷键实在是让人不顺手。Alt+右方向键,我怎么都无法不低头按它俩。于是我把快捷键改成了Ctrl+;(分号)这样按起来方便多了。
Resharper则在Visual Studio的基础上又增添了一些功能。比如说,在原生的自动完成中,关键字,比如private,override这些,是没有提供自动完成的(有吗, 我已经不记得了)。还有这下面一些,则是Visual Studio原生确实没有的:
当你写一个新的字段时,比如string _field; Resharper会自动地在前面为你加上private,也许有的人觉得多余,但我觉得是应该的。
当你输入foreach的时候,模板会自动的出现,方便你输入集合还有子项的类型与名称,回车之后就进入到块中。这类的模板你可以自行定义,并在团队中共享。这样在处理某些特定的场景时,代码的执行基本一致。
在你需要输入{的时候,Resharper能够自动的为你加上},并且光标位于其中,如果你敲回车键,两个括号和你准备接下来要写的块内的代码都缩进对齐了。这个功能远远不只说起来那么简单,当你发现自己可以因此忘记每次括回去的时候,是多么的惬意。
同理,在你输入[或者(的时候,Resharper也如此为你添加成对的括号。
这样也有不方便的时候,比如你在调用某个方法的时候,其实你只是想输入(,然后开始写参数,再写),然后写分号,可是它偏偏帮你写了,特别是当参数还是一 个字符串的时候,你输入",它又自动的帮你写了",并且把光标置于其间,好多时候搞得你很恼火。因为你要敲end键挪到行尾,再写;,而end键也很难在 你不低头的情况下按准。实际上,这时你的选择还不如老老实实写上"),也比敲end来的快。所以为方法自动的添加括号的功能,只有在不带参数的情况下使用 才最惬意。
总的说,自动完成函数的输入工作,还是一个很实用的功能,现在你需要输入ToString()的话,只需要最多敲四个了ToS和;就可以了,其他的部分Resharper都自动为您完成。
最后再卖弄一下,将自动完成的快捷键换成Ctrl+;的话真的非常棒,即使你没有安装Resharper,也可能考虑把原生的快捷键更改掉。在我所有用的电脑上,我都偷偷的把Ctrl+;添加进去了。因为这两个键实在是太好摁了。
Resharper快速完成