如果有机会,推荐你试用下VS Code这个编辑器

2018 年 9 月 11 日 聊聊架构
作者 |  Hugo Di Francesco
编辑 | 无明

在过去的几年,我做了很多 PHP、JavaScript 以及其他与 Web 相关的开发工作(HTML、CSS、React、Python、Ruby)。对于开发人员来说,代码编辑器是工具箱中最重要的组成部分之一。好的编辑器可以保护你的手腕和手指免受重复性劳损的伤害,当然,它也可以保护你的眼睛。因为作为程序员,你需要长时间盯着电脑上的编辑器,然后通过键盘输入,基本也都是在和编辑器“协作”。

与其他 Web 开发人员一样,我也是从 Sublime 开始的。当时,代码编辑器领域的竞争还没有这么激烈。当 Atom 变得更加成熟时,我转向了 Atom。我很快就在 Atom 中使用 Nuclide 来协助 React 和 PHP 开发。我还使用过 VIM。我也尝试了 Eclipse 和 IntelliJ 一小段时间,但我已经习惯了 Atom 和 Sublime 的按键绑定,所以感觉 Eclipse 和 IntelliJ 的不太好用。这就是我的编辑器选择之旅。作为开发人员,我们有时喜欢走很长的路。我的意思是,它毕竟只是一款编辑器,又何必要如此煞费苦心呢?

我最新的代码编辑器冒险之旅是 Visual Studio Code。它不仅给我带来了 IDE 风格的功能,具有经典轻量级代码编辑器的简单性,而且还提供了一些我想要但 Atom 可能永远不会提供的功能。

它是跨平台的,并且是免费和开源的,可以在这里下载到:

https://code.visualstudio.com/

精心设计的 GUI

VSCode 的 GUI 设计与 Atom 或 Sublime 完全不同,它从一个突出的侧边栏开始:

侧边栏包含了以下项目:

  1. 资源管理器(文件树)

  2. 搜索

  3. Git

  4. 调试

  5. 扩展

你可以通过这个菜单进行搜索,并查找能够满足你需求的扩展程序。我从来不在 Atom 中使用扩展搜索,但因为 VSCode 的扩展功能如此突出,我还是通过菜单安装了一些扩展程序。

你似乎总能看到你需要使用的功能,你也不需要知道所有的键盘快捷键才能成为高级用户。

强大的默认设置

VSCode 提供了开箱即用的“JavaScript、TypeScript、JSON、HTML、CSS、Less 和 Sass”智能感知,这一点很不错。在 Atom 中,我并没有使用代码提示插件,所以 VSCode 的智能感知显得有点啰嗦,不过,这也是我之前错过的东西。它会根据你安装的扩展程序告诉你代码的哪些部分是无效的。例如,当代码中的每个 const 都被标记为错误时,你就该知道它不支持 ES6。

高度可发现的扩展程序

当你意识到需要安装 ES6 插件时,它会根据当前的 workspace 向你推荐扩展程序,例如,对于 ES5/ES6,它会建议安装“Babel ES6/ES7”扩展程序。这比在网上寻找安装哪个插件要好得多。

VSCode 的生态系统还没有那么碎片化,可能是因为它还比较新。对于某项任务,通常只有一个包可用(比如用于 ES6 高亮和提示的包)。

轻松分屏

我老是记不住分屏的快捷键。VSCode 在打开文档选项卡的右上角提供了一个图标,可用它来切换屏幕模式。我会在编写测试代码时用到它,也就是说,我可以同时打开应用程序代码和测试代码。在将代码从一个框架(或语言)移植到另一个框架(或语言)时,这个功能也很有用。

我从来不知道还能这么做。为了偶尔用到的功能记住一个快捷键并不会带来多大帮助,但是有了这个功能,就可以让我避免老是来回切换选项卡。这样可以减少上下文切换,更好的注意力聚焦可以提高生产力。

git diff 视图

我没有使用 git GUI,这对我来说通常不是一个大问题。在终端中使用大多数 git 命令(pull、commit、add、status、rebase)都没有问题,只是 git diff 不太好用。VSCode 提供了 diff 视图,我因此可以编写更好的提交日志消息,因为现在可以看到每个文件的全部代码差异,而不是像以前那样运行 git diff,然后还有记住使用 git commit 时 diff 中都包含了哪些内容。

单击导入包

我从不在 Atom 中使用单击导入包,因为用得不多。但一旦用到了,你就会觉得无需重新输入文件名这一点其实是很棒的。

内置的终端 / 调试器

我会对 Atom 和 iTerm 进行分屏。但事实证明,iTerm 用得并不多。在 VSCode 中,你只需要使用 cmd +或 ctrl +就可以召唤出终端。

智能感知

能够查看类型函数定义是非常有用的。之前,如果忘记一个函数(比如 PHP 中的 array_push)的参数顺序是怎样的,我都需要去查找 API 文档。现在,VSCode 可以直接告诉我应该按照怎样的顺序传递参数,那么我就可以继续专注于手头的任务。

你还可以按住 cmd 或 ctrl 键来查看自己定义的变量和导入的引用。

所有这些功能都有一些共同点:它们是开发工作流程的一部分,但不会一直被用到。当你需要使用它们时,它们就能帮助你提高工作效率。

一些插件

VSCode 具有很高的定制化能力和可扩展性,以下这些是我目前安装过的一些插件。

  • VSCode Atom 按键映射:https://github.com/waderyan/vscode-atom-keybindings。

  • Sublime 3 模式下自动关闭标签,比如你输入</,它会自动填充与之匹配的关闭标签:https://marketplace.visualstudio.com/items?staticName=formaulahendry.auto-close-tag。

  • 用于 VSCode 的 EditorConfig,用于设定每个 tab 的空格数量或去除尾部空格:https://github.com/editorconfig/editorconfig-vscode。

  • PHP IntelliSense:https://marketplace.visualstudio.com/items?staticName=felixfbecker.php-intellisense。

  • Babel ES6/ES7 用于现代 JavaScript 代码的语法高亮:https://marketplace.visualstudio.com/items?itemName=dzannotti.vscode-babel-coloring。

结论

VSCode 是跨平台、免费和开源的。即使你是一个顽固的 Atom 或 Sublime 粉丝,也要试一试 VSCode,因为它可能会让你大吃一惊。

英文原文:https://hackernoon.com/virtualstudio-code-the-editor-i-didnt-think-i-needed-16970c8356d5


最后,强烈推荐极客时间新上线的 VS Code 专栏。之前,我以为这样的工具安装下来操作下就会用了。现在,看完这系列内容之后,才发现一个编辑器的使用居然还有那么多门道。这个专栏的作者是 VS Code 团队的核心开发者,他会向我们系统介绍 VS Code 中的一些高效编程技巧,有一些是你之前根本不知道的,但是只要你学会了,效率马上就能够提高。

登录查看更多
0

相关内容

GitHub 发布的文本编辑器。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
7 款实用到哭的App,只说一遍
高效率工具搜罗
84+阅读 · 2019年4月30日
已删除
将门创投
18+阅读 · 2019年2月18日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
刚开始学编程?这几款小工具能让你事半功倍
精选Top30!最实用的python开源项目都在这里
乌镇智库
4+阅读 · 2018年1月26日
GitHub上12月份最热门开源项目
程序猿
4+阅读 · 2018年1月9日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Directions for Explainable Knowledge-Enabled Systems
Arxiv
26+阅读 · 2020年3月17日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
7+阅读 · 2018年1月31日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
7 款实用到哭的App,只说一遍
高效率工具搜罗
84+阅读 · 2019年4月30日
已删除
将门创投
18+阅读 · 2019年2月18日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
刚开始学编程?这几款小工具能让你事半功倍
精选Top30!最实用的python开源项目都在这里
乌镇智库
4+阅读 · 2018年1月26日
GitHub上12月份最热门开源项目
程序猿
4+阅读 · 2018年1月9日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Top
微信扫码咨询专知VIP会员