本文介绍的是如何在VS2017中使智能提示(IntelliSense)支持代码片段,如果想省时间,请直接跳到加粗红字处开始阅读
在vs里面,有一个很好用的功能,就是代码片段。输入定义好的快捷方式,然后按Tab键,就可以自动输出一段定义好的代码。
比如我自己定义的这个代码片段,如图
在vs里面的效果
这个功能非常好用,所以啊,我就把经常使用的代码都定义成了代码片段。
慢慢的,代码片段多了起来,问题也就随之而来。
因为你要使用代码片段,那么你必须得先知道快捷方式。
vs自带的代码片段以及自己定义的代码片段,加起来的总量是非常多的,全部快捷方式都记住,那是比较吃力的。
vs本来想让代码片段给用户带来便利,现在缺好像没有多少帮助。
在VS2015以及之前的版本,要用代码片段功能,只能自己记住整个快捷方式,或者 选项——代码片段管理器,再去瞧瞧快捷方式。。。
想想,类名,方法名,属性名什么的,都支持智能提示,为啥代码片段就不支持呢?
值得高兴的是,vs的团队好像知道了我们的想法,在VS2017里面,已经对代码片段的智能提示做了支持
但是,仍然有问题,描述不清晰。
在VS2017里面,是这样描述的
第一个选项,从不包含片段,很好理解,再拿上面的tryaggf来测试,效果是这样的
输入trya的时候,智能提示已经没有了,也就是只能提示里面不包含代码片段。
第二个选项,始终包含片段,也很好理解,再拿上面的tryaggf来测试,效果是这样的
看到了吧,智能提示变成了代码片段专用了,类名,方法名,属性名什么的都没有智能提示了。
第三个,重点来了,这个才是我们今天要说的,在标识符后键入 ?-Tab 时包含片段。
这样的描述,就不是很好理解了。
我记得vs2017刚出来的时候,我安装之后就测试过这个功能,无奈不会用。
中间因为想用这个功能,又测试了一次,还是失败。
给你们看看我当时是怎么测试的,按照他说的,快捷方式后键入 ?-Tab
看,三种方式都试了,啥效果都没有。
直到今天,才测试成功,直到了怎么用这个功能。
然后全网搜了下,好像没有说到这个,因此跟大家分享下vs2017 代码片段 智能提示的用法。
再拿上面的tryaggf来测试。
步骤一:
先输入快捷方式的第一个字符 t (快捷方式全名记不住,第一个应该能记住吧?);
步骤二(有更新,请下拉看加粗红字更新部分):
然后需要让这个智能提示框消失。
方法很多,比如 按ESC键 或者 用鼠标点击一下智能提示框之外的空白处,或者是 按一下键盘上下左右方向键的右方向键(如果知道让智能提示框消失的快捷方式,请告诉我),
步骤三:
再然后输入英文半角的 ?
步骤四:
再按Tab键就可以有智能提示出来了,效果下图
有一个问题要注意,就是先要让智能提示框消失,再输入?,否则会直接出来你在智能提示框选中的那个或者是其他情况。
好了,虽然能用了,但是好像还是没有像类名,方法名,属性名什么的那样好用,如果把代码片段也放到红圈那个位置,可能会好用很多。
期待vs2017会改善
更新:
刚看到,智能提示还分标准模式和建议完成模式。
在标准模式下,输入会有智能提示,但不会选中最接近的那个结果;
在建议完成模式下,输入会有智能提示,并且会选中最接近的那个结果。
两种模式效果分别如图
两种模式切换的快捷键是 Ctrl+Alt+空格,或者 编辑——IntelliSense——切换完成模式
在标准模式下,因为没有自动选中任何提示结果,所以直接输入 ? 并不会导致自动输入我们不想要的结果。
知道了这个,我们就可以把智能提示切换到标准模式,然后可以省去上面说的第二步了。