我是个前端,VS Code是一款优秀的轻型编辑器,但是我工作时的主力编辑器是Webstorm。所以这也算是一篇蹭VS Code热度来推广Webstorm的卵文。
我可以姑且把我选择Webstorm的原因归咎于我对VS Code的不了解,我就自己的使用习惯进行一些对比。
Webstorm做得好的地方
扩大选择
这个功能在VS Code中叫editor.action.smartSelect.grow
,在Webstorm中则为Extend Selection
,在Atom中好像叫Expand Select
,我已经忘了。不过说实话,VS Code的扩大选择,根本称不上是smart。我们看这么一段HTML:
<li class="skeleton tabs__item"></li>
这个时候,如果你想删掉skeleton这个类名,我们不考虑鼠标操作,最好的做法就是把光标先移到skeleton这个单词中,然后使用扩大选择功能,在Webstorm中,skeleton这个单词就会被选中,可如果你是VS Code用户,你会发现整个字符串"skeleton tabs__item"
全都被选起来了,我个人觉得VIM的vw都比这要smart。
如果你需要把双引号变成单引号,在Webstorm中通过Smart Keys中的相关配置实现在选中包括双引号以及其中的字符串时单击单引号进行双引号的替换,反引号也是同样的操作。如果你是VS Code用户,还是用鼠标吧。如果你解决了这个问题,请务必告诉我,双手合十感谢。
文件夹查找
有人可能会奇怪为什么会有文件夹查找这个需求。项目大是一方面,可能通过合理的逻辑推断,每个文件夹里的文件不会很多。但是我这个人喜欢去深如女人心的node_modules里看源码,VS Code是搜不了文件夹的,只能搜文件(我是没找着)。这里贴一下Webstorm的搜索效果:
注释后跳到下一行
// const a = "localhost"
const a = "192.168.0.1"
我们在开发的过程中一定不可避免地进行试错,也就是我们的“跑跑看”大法。多次施法,当然要反复注释。像上面的两行代码,通常我们会取消一行的注释,然后注释掉另一行。在Webstorm里,我们只需要把光标放在第一行,连续按两次注释快捷键就可以做到这个动作,但是VS Code不行,我没有明白的是,我都把这一行注释掉了,为什么我还停留在这一行呢?
复制粘贴的自动格式化
现在你有一段代码:
const object = {
key: 'value'
}
在VS Code上如果没有缩进再粘贴之后会变成这样:
const object = {
key: 'value'
}
在Webstorm随便你怎么折腾,怎么贴都爽,不需要多余的手动beautify。
VS Code做得好的地方
Markdown
VS Code的Markdown看起来不错,是因为Webstorm上的Markdown插件做得实在是太烂了。
支持正则匹配后的多行操作
Sublime在正则匹配后是默认进行多行操作的,在VS Code中进入多行编辑需要按Option+Enter,我倒是没发现Webstorm怎么弄,辛苦发现的仁兄告诉我一声。
当然,Webstorm打开实在是有点慢,尤其是面对HTML静态内容特别多的时候,所以我在看代码、写文章的时候一般是用的VS Code。VS Code的更新速度也非常有诚意,希望某天能让我放弃Webstorm,code everything吧。