前言

我刚开始是一名 Java 程序员,陪伴我最久的老伙计是 Java 世界里面出名好用的是 Jetbrains 家族的重量级产品 Intelli IDEA 编辑器,不过 IDEA 主要是用来写代码,文本编辑,配置编辑,我都是使用 Vim,Sublime Text 3 来处理,但是随着我学习的编程语言越来越多,例如 Ruby,Go,JavaScript,我的电脑开始安装很多编辑器,具体如下:

  • Intelli IDEA:用于编辑 Java 程序
  • RubyMind:用于编辑 Ruby 程序
  • GoLand:用于编辑 Go 程序
  • WebStram:编辑 JavaScript 程序
  • Sublime Text:文字、文本、JSON、XML等编辑任务
  • Vim:系统、配置文件、少量代码修改等编辑任务
  • Typora:Markdown 编辑器
  • 等等……

且不说这么多编辑器让人眼花缭乱,光是动辄上 GB 的空间占用,也让我低配版的 Macbook 磁盘吃紧,而且不同软件之间的快捷键,界面布局不同,学习起来也造成很大的心智负担。

最后还有一个理由就是 ,这么多软件,要买正版可不是一笔小的费用,我还没有土豪到那个地步。

另外你问我为什么不用盗版,如果我们程序员自己还用盗版软件的话,那么不是自己砸自己的饭碗吗 ?

我开始思考一个问题:有没有一款编辑器能解决我所有的编辑任务?

于是我开始清点自己对于编辑的需求,整理如下:

  • 开源免费(每年几百美金的 Licence 去买好吃的不香吗?)
  • 轻量级,不太占用空间(Mac 磁盘寸土寸金)
  • 高性能,毕竟我平时有很多大文件编辑的工作
  • 扩展能力强:当我切换到其他编程语言,我不需要切换工具
  • 能解决我所有的编辑需求,例如编程语言:Java、Ruby、golang,文本编辑,Markdown,XML,JSON 等

我开始想象,如果找到这样一款编辑器,我可以用大部分的精力去学习它,然后深入研究精通它。

这样我所有的编辑工作都用它来完成,这样所有的编辑效率都能提高,从而整体的工作效率都能提高。

且不说降低磁盘占用的空间,起码也可以降低不同编辑器之间的学习成本和心智负担。

然后我就找到了它,今天我要分享使用心得的主角:VSCode

VSCode 入门介绍

严格意义上来说 VSCode 并不是类似 Jetbrains 产品,它只是一款纯文本编辑器,类似你在 Windows 上使用的TextPad,也类似 Mac 平台上的 TextEdit,或者 Sublime Text,所以 VSCode 的本质工作还是文本编辑。

因为 VSCode 是基于 Electron 框架开发,所以它可以再在不安全任何插件的情况下,对 HTML、CSS、JavaScript 提供很好的支持,也这是很多前端程序员一直推崇 VSCode 的原因

在原生情况下,它的核心功能还是编辑,但是相比传统的编辑器,VSCode 提供以下几点内置功能,所以它应该是更加适合程序员使用的编辑器,如下:

  • IntelliSense 智能提示:通过机器学习分析你过往的输入,给出代码补全和职能提示(和 IDE 的补全不同)
  • 内置 Git 支持:这里不多介绍了,程序员应该都知道 Git。
  • 内置 Terminal 终端:Sublime Text 想要集成终端都还要装插件,VSCode 开箱就送了。很方便
  • 插件市场:让你的 VSCode 扩展无限可能(这才是 VSCode 的杀手锏功能)

最后,因为它是跨平台的编辑器,所以你也不用担心你是用 Windows 还是 Mac 操作系统了

轻便的 VSCode

VSCode 原生包只有 100M 大小,就算不在进行扩展包安装的情况下,已经可以替代 Sublime Text、Vim 帮我完成平时的编辑工作了,而且只需要进行简单的 PATH 配置,就可以替代原来的 vim 指令:

原来的 vim 编辑:

vim fileName

使用 code 编辑

code fileName				// 使用 vscode 编辑指定文件

另外一个是我比较常用的技巧:使用 code 快速打开编辑目录

cd /target/dir/
code . // 使用 vscode 编辑当前目录

另外 VSCode 上手曲线比 Vim 更加平缓,适合新手,也更容易获得成就感,也就更容易坚持。

性能

除了本身占用空间小,编辑性能也是 VSCode 值得拿得出手的地方,至少目前近半年的编辑工作中还没有遇到过无法用 VSCode 打开的情况,整体性能的优化比师出同门的 Atom 还要领先许多,在我接触过的大文件加载和编辑中没有掉过链子,而且内存占用率也非常低,对比 Jetbrains 动辄 3-4G 的内存占用来说,可谓是轻便许多,使用 8G 版本的 Macbook 完成轻量级的编程工作也是没有任何问题的

插件扩展

扩展是 VSCode 的招牌能力了,我们看看它是如何通过扩展能力,VSCode 扩展可以通过以下2个思路解决:

  1. Extension Pack:流行的扩展包,通常找到对应语言的 Extension Pack 一键安装即可
  2. 插件:例如 Markdown,Vim 可以通过直接安装插件即可

下面推荐几个替代 Jetbrains 产品的 VSCode 功扩展包:

  • Intelli IDEA:使用 VSCode + 扩展包:Java Extension Pack 解决
  • RubyMind:使用 VSCode + 扩展包:Ruby Extension Pack 解决
  • GoLand:使用 VSCode + 扩展包:Go Extension Pack 解决
  • WebStorm:VSCode 原生支持
  • TypTypora:VSCode + 插件 Markdown All in One 解决
  • 流程图:推荐插件:PlantUML (现在所有系统架构,设计类图,我都通过它来实现)

通过上述插件,VSCode 虽然在很多其他语言开发中,还不够强大,但是满足 80% 的功能就已经足够了,最重要的是它带来的方便,轻巧,远比那些重量级的功能要好用的多

VSCode 插件:

好用的插件可以让 VSCode 事半功倍,推荐几个我在用并且觉得好用的 VSCode 插件给大家:

  1. Code Runner:一键运行 32中编程语言的执行器,非常好用
  2. Atom One Dark Theme:基于Atom的 One-Dark 主题。市场上最受好评的一个黑暗主题
  3. Git Graph:Git 图仓库,对于 Git 仓库提交历史一目了然,非常清晰
  4. GitLens:不多说了,VSCode 必装 Git 插件,没有之一
  5. LeetCode:平时刷题的小伙伴,一定要装,集成度非常高,墙裂推荐
  6. Markwodn Preview Github Styling:类似 Github 风格的 Markdown 解析器,常用 Github 小伙伴不能错过
  7. Peacock:多工作区标记,对于同时打开多个工作区,反复切换的同学,可以通过颜色标记,快速找到目标
  8. VScode-icons:一款美化后的 VScode 图标库,提升了很多 default icon 的美观
  9. 等等…… 期待你自己发掘
VSCode 快捷键:

高效利用工具的秘诀在于熟练掌握它的快捷键,

所以推荐几个常用的 VSCode 快捷键,帮助大家提高效率:

  1. 快速打开用户设置:⌘ + .
  2. 快速打开命令面板:⌘ + ⇪ + P
  3. 快读跳转代码段:⌘ + ⇪ + O
  4. 快速查找文件:⌘ + P
  5. 跳转到指定行:⌃ + G
  6. 文件内搜索:⌃ + F
  7. 跨文件搜索:⌃ + ⇪ + F
  8. 打开终端:⌃ + `
  9. 创建终端:⌃ + ⇪ + `
  10. 代码格式化:⌥ + ⇪ + F

日常编辑常用的快捷键就这些

更加详细的可以自行查看 VSCode 键盘映射表(File -> Preferences -> Keymap Extensions)

VSCode 小技巧:

分享一些不为人知,高效且实用的 VSCode 实用经验的和技巧,如下:

  1. 用户设置分为:User Settings /Workspace Settings,它们设置页面一样,区别是全局,工作区生效范围不同
  2. 大部分的快捷操作,都可以通过控制面板(⌘ + ⇪ + P)的指令来完成
  3. 通过 “editor.tabSize”: 4 可以设置 tab 的空格数
  4. 通过 "files.exclude": {} 设置可以排除你在 VSCode 中不想看到的代码和文件
  5. 在资源管理中直接输入文件名,可以直接搜索文件
  6. 通过 View -> Apperance -> Zen Mode 进入禅模式,可以更加专注的编写代码
  7. 多光标:按住 Alt + 左键,可以同时编辑多处文本
  8. 通过 File -> Auto Save 可以直接自动保存,也可以通过 settings.json 进行更加个性化的设置

最近几个月的 VSCode 使用心得就分享到这里,未来 VSCode 依然会是我的主力编辑器,承担的所有的写作/文本/编程的工作,毕竟它这几个月来也完成的非常出色。我相信 VSCode 在后续的版本中会越来越强大,插件也更加完善和丰富,所以投资时间学习 VSCode 应该是一件很有回报的事情

完全使用 VSCode 开发的心得和体会的更多相关文章

  1. <2048>调查报告心得与体会

    老师这次给我们布置了一个任务,就是让我们写一份属于自己的调查报告,针对这个任务,我们小组的六个人通过积极的讨论,提出了一些关于我们产品的问题,当然这些问题并不是很全面,因为我们是从自己的角度出发,无法 ...

  2. .Net Core Linux centos7行—vscode开发,linux部署运行

    前面搭建好啦linux运行环境,下面搭建windows下的开发环境.并完成调试 参考地址:https://www.microsoft.com/net/core#windows. 按照步骤来就好.安装. ...

  3. vscode 开发.net core 从安装到部署 教程详解

    一:环境准备: windows系统需要 win7 sp1 / windows 8  / windows 2008 r2 sp1 / windows10: 其他版本的windows系统在安装.NET C ...

  4. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)

    最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...

  5. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)

    第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 由于 ...

  6. Java开发学习心得(二):Mybatis和Url路由

    目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...

  7. Java开发学习心得(一):SSM环境搭建

    目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...

  8. DEPHI XE5 XE6 ANDROID IOS开发的几点体会

    DEPHI XE5 XE6 ANDROID IOS开发的几点体会 2014-09-04 20:48 1.不纠结于APK或者APP的大小.现在的客户端设备都很廉价,300元以上的新安卓设备都不在乎软件的 ...

  9. 使用vscode开发调试.net core应用程序并部署到Linux跨平台

    使用VS Code开发 调试.NET Core RC2应用程序,由于.NET Core 目前还处于预览版. 本文使用微软提供的示例进行开发及调试. https://github.com/aspnet/ ...

随机推荐

  1. Windows环境下Robot Framework 下载及安装流程

    1.安装包下载 注意安装包统一64位或32位 1)python-2.7.16.amd64.msi 2)robotframework-3.0.2.tar.gz 3)robotframework-ride ...

  2. Incorrect string value: '\xF0\x9F\x93\xB7</...' for column 'content' at row 1

    出现原因:当insert数据中有表情时发生.而这些表情是按照4个字节一个单位进行编码的,而我们使用的utf-8编码在mysql数据库中默认是按照3个字节一个单位进行编码的. 解决方法:将表字段字符集设 ...

  3. codeforces 870C

    C. Maximum splitting time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  4. codevs1068乌龟棋-四维DP,五维如何缩减一维

    我们从起点x开始暴力枚举所有决策 于是可以得到如下转移 void dfs(int x,int A,int B,int C,int D,int y) { if (x==n) {ans=max(ans,y ...

  5. 深入理解gradle中的task

    目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 深入理解g ...

  6. You Don't Know Chrome Features

    You Don't Know Chrome Features URL auto convert to QR Code click the tab URL address click QRCode ic ...

  7. Bootstrap5 多级dropdown

    <div class="dropdown"> <a class="btn dropdown-toggle"> Dropdown link ...

  8. windwos创建和删除服务

    创建 >sc create <service name> type=kernel binpath="C:\hsys.sys" 删除 win+r 输出 regedi ...

  9. NGK底层技术如何助力SPC子币VAST高价与安全并行?

    NGK近来使用了新的侧链技术推出了新的SPC侧链代币,以及SPC的子币VAST---维萨币. NGK使用去中心化和开源区块链数据分布式协议,不断打造高倍币,力求成为生态建设参与者们所信赖的高倍币孵化器 ...

  10. NGK Global英国路演落下帷幕,区块链赋能大数据取得新突破

    NGK全球巡回路演于7月25日在英国圆满举行,此次路演是由NGK英国社区主办,旨在探讨当前大数据爆炸的形式下,区块链如何赋能,解决行业痛点.会上,行业精英.区块链爱好者.各实体产业代表以及科技人员纷纷 ...