Visual Studio Code 初体验

背景

最近手指不堪emacs的折磨,且确实在emacs上的开发效率不高。尤其是做web开发与c++底层服务开发同时进行时。

尝试过切换到sublime,不过说实话,sublime确实不是我的菜,第一眼就比较反感了。说不上反感的理由,只能说是比较感性的一个选择。

然后就问了自己一个问题,我需要的是什么样的一个editor 或者 IDE。
答案是显而易见的:支持多语言(c, c++, python, node.js, javascript, html, golang, erlang),需要可调试(挂载gdb),有doxygen插件,可以跳转到定义以及查找所有引用。

比较了sublime, atom, visual studio code, vim:

编辑器 多语言支持 可调试 doxygen插件 代码跳转 自动补全
emacs 支持 支持 支持 支持(GNU global) 支持(auto-completion)[word]
sublime text3 支持 支持 支持 未知 支持[word]
atom 支持 支持 支持 未知 支持[word]
vim 支持 未知 支持 支持(ctags) 支持[word]
visual studio code 支持 支持 支持 支持[intelisence] 支持[intelisence\word]

综合来说:

  • emacs
    存在快捷键不方便(手指负担过重)的缺点,但emacs也存在一个相当大的优点,可集成shell。

  • sublime text3
    这个编辑器没怎么体验,不过直觉上不喜欢。

  • atom
    万般皆可忍受,但是工程的文件一多就卡,这个是不能忍受的。这是atom带给我最不好的体验。

  • vim
    这个说实话,学习成本过高(有过emacs经验,不想也不适合再花大量的时间到编辑器上)。而且,毕竟社区的活跃度不如其他的几个(除了emacs)

  • visual studio code
    目前来说,缺点也是有的(不符合我的使用习惯),工程不可并行打开,需要切换工程。简而言之,是基于工程的editor。当然瑕不掩瑜,visual code的 intelisence 还是相当符合我的口味的。debug模式更是如此。
    另外,让我坚定的使用visual studio code的更重要的原因,此乃微软出品。相信用过visual studio套件的都对于“宇宙第一IDE”感触颇深。相信这块产品也会越走越好。
    另外,visual studio code的原生快捷键是需要F区的。很不幸,老夫的键盘是没有F区的(HHKB...),而目前找到的keybinding是只读文件不允许修改,需要在日后的使用中找到更改keybinding的方式。

C++ 支持

对于c++的支持,目前只需要能够跳转到定义,找到函数的所有引用,以及函数的声明就可满足我的需求。此处安装了c++ intelisence插件。参照官方的说明,即可非常快速的使用c++ intelisence。
注:基于GNU global。关于GNU global请参考前文或者自行百度。

在visual studio market中,还提供了c++ snippet。众所周知snippet能够大大减轻useless typing。

目前还缺少c++的debug,linter插件。debug可以方便的在ide中打断点进行调试,linter方便对同一工程制定编码规范。希望在日后的市场中能够丰富起来。

工程类工具

  • yeoman
    从已知的信息中来看,yeoman是个代码,工程生成器。能够能生对应的node.js, express.js, asp.net的工程。对于cpp, python等工程的生成尚未研究。希望能够自定义生成规则(对于类,函数,文件而言)。

  • vscode-todo
    因为经常跨工程写代码,所以有些函数(方法)仅仅只是留了一个调用的协议(接口),内部实现为TODO。而TODO多了之后,怎么找回是个难题。这个插件很好的帮我解决了这个问题。

你可能感兴趣的:(Visual Studio Code 初体验)