VScode是微软发布的一款开源代码编辑器,支持多种语言,以插件的形式提供额外功能。更新频繁,开发社区活跃,是一款很值得学习使用的软件。总结就是免费,还好用~

本文结构:

  1. 推荐几款常用到的扩展。
  2. 环境配置。实现python和C++代码提醒、风格检查和注释。

一、上车的过程

我平时主要在Python和C++两种语言下工作、学习,在公司提供的服务器上操作、运行代码。代码不出问题还好,出了问题之后在服务器上修改简直是噩梦。要知道,我可能经过了层层跳转,到了一个连外网都没有的机器上,我修改完代码之后还要版本控制等等。同步代码劳心劳力痛苦不堪,这时候,VSCode这款IDE徐徐进入我的眼帘:他是新生事物,有强大的生命力;理念先进,宣称要编辑革命。这不正是我这种年轻人喜欢的东西吗?最主要的是,他能解决代码同步的问题!这也是我为什么前期遇到很多困难,却一直坚持使用VSCode的原因。

我有过心灰意冷,转用PyCharm。PyCharm多好呀,什么都不用配置,直接就能代码提醒,就能风格提示,就能添加注释,Python还能远程Debug。但他有一点,不能直接同步代码。如果经过跳板机同步,需要ssh tunnel才行,有一些费劲,我觉得心里别扭。就像在楼下快餐店吃饭,看到菜里有一根头发;就像风景如画的湖面,飘着一个塑料袋。必须要收(二声)拾。

我总存有一丝幻想,要是我配置VSCode也能达到PyCharm和Clion的功能,同时又能和服务器同步代码,是多么完美的一件事。凭借一丝丝幻想,我隔三差五折腾一下,终于现在折腾的差不多了。事实证明,折腾VSCode还是有未来收益的,因为VSCode一直在更新,在推出新功能。比如最近推出的预览版功能,remote development extension,让人可以在服务器的环境上工作,多好。可以说是一次上车,幸福很久了。

那有人问了,remote development extension出了,直接可以在服务器上开发,那你还写这篇文章干啥?赶紧回家歇着去吧。其实仔细一想不是的,配置好自己的本地环境比啥都好:笔记本一拿,不管有没有WiFi都能开发;不用把所有的服务器都配置一遍,省时省力。就算没有笔记本,买个硬盘,在硬盘上装上操作系统,随走随插,网吧都能做开发。开发环境就像家一样,到了熟悉的地方,才能辗转腾挪,得心应手。

二、推荐一些VSCode的扩展

VSCode的功能是通过扩展(Extension)提供的。官方会提供一些扩展,个人也可以发布自己的扩展,非常灵活、自由。我在这里推荐几个我觉得很好的扩展,供大家选择。

  1. SFTP

这个扩展可以实现代码与服务器的自动同步。



{



以上是我的SFTP的配置。注意,uploadOnSave和下面VSCode内置的延迟一段时间保存一起使用,自动同步代码不是问题~



"files.autoSave": "afterDelay",
    "files.autoSaveDelay": 2000,



2. you-complete-me

为了最靠谱的代码补全,推荐使用you-complete-me扩展,需要安装一下Ycmd。装好了之后改一下配置就行了。



"ycmd.path": "/path/to/ycmd",
    "ycmd.python": "/path/to/python",
    "ycmd.global_extra_config": "/path/to/ycmd/",



3. gitlens

gitlens可以很方便的看到历史commit信息,还可以和别的分支进行比较。在自己瞎JB搞,把自己分支测试搞挂了的时候,可以和master分支做一下比较,所有不同一目了然。

我把下边两个配置都关了,防止文件来回跳。



"gitlens.codeLens.recentChange.enabled": false,    
    "gitlens.showWhatsNewAfterUpgrades": false,



4. bracket pair colorizer

给括号上色,避免一层层的括号闪瞎我的钛合金狗眼。默认配置就行。

5. trailing spaces

默认配置,显示文件中的空格。保持文件干净,让空格无处遁形。

6. bookmarks

看代码的时候可以插书签,来回跳很方便。

7. autoDocstring

python代码下的自动添加注释。很好用,打下"""之后回车,注释就会自动出现啦。我用Google风格,毕竟大厂。



"autoDocstring.docstringFormat": "google",



8. C-family Documentation Comments

是用来给C++代码添加注释的,输入/**回车,注释就自动出现啦。

9. Clang-Format

用来格式化C++代码的,格式化之后连注释都能对齐,赏心悦目。



"clang-format.executable": "/usr/bin/clang-format",
    "clang-format.style": "Google",



10. cpp-lint

C++代码风格检查,帮助你写出合格的代码哦。



"cpplint.filters": [
        "-legal/copyright"
    ],



11. psioniq file header

这个名字真难打。是用来生成c++文件头的注释的,ctrl+shift+i直接生成,简单酷炫。



"psi-header.variables": [
    ["author", "××××"]
    ],
    "psi-header.templates": [
    {
        "language": "*",
        "template": [
        "Date: <<filecreated('YYYY-MM-DD')>>",
        "Author: <<author>>",
        ]
    }
    ],



先更这些,第三部分晚些再更,回家啦。