VS Code 简介 | VS Code Introduction

Visual Studio Code(简称“VS Code”)是微软推出的一款开源、免费、跨平台的纯文本编辑器(plain text editor)。除了拥有界面舒适,操作方便,运行流畅,稳定可靠等过硬的基本素质,还拥有非常强的可拓展性和可自定义性。并且给 VS Code 安装插件就像在应用商店装应用一样方便。经过插件扩展和适当的配置,你甚至可以把 VS Code 当作一款轻量级的 IDE 来使用。

顺便提一句, VS Code还内置了集成命令行窗口和 Git 支持功能。用了 VS Code 之后我在命令行里输 Git 命令的频率大幅降低。

定位和竞品

如之前所说 VS Code 是一款纯文本编辑器。如果你对“纯文本”这个词感觉比较陌生的话,可以回顾一下 我的《编码百科》系列。在那个系列中我简单介绍过字符编码和纯文本文件的内容。对于熟悉 Windows 的用户来说,那些后缀名为 .txt ,使用记事本(Windows Notepad)软件打开的文件就是纯文本文件。这种文本除了简单的换行分段之外几乎没有什么排版痕迹,完全就是一串字符。这种文件格式或许难以胜任保存彩色海报之类的任务,但是用来简单记录一些文字信息或者作为纯文字书籍的载体是可以的。 VS Code 就是用于浏览和编辑此类文件的工具。

可能你会觉得,处理这种看起来很简单的文件,记事本就够了,为什么还需要 VS Code 呢?我认为可以从两个方面来解释:

其一,虽然这个文件格式很简单,但是对其进行的操作不一定简单。记事本仅仅支持最为基本的输入、删除、复制、粘贴、搜索、替换之类功能,不支持更为复杂的操作,且所有操作都需要人工控制,无法自动化。而 VS Code 之类的编辑器则提供了复杂操作和一定程度上的自动化。

其二,有很多文件格式是在纯文本的基础上规定了额外的规则形成的。增加了这些额外规则之后,这些文件格式拥有了比最基础的纯文本更复杂的功能。记事本虽然能编辑这些基于纯文本的文件格式,但是只能把它们当作最基础的纯文本进行处理,不支持它们新增的功能,而 VS Code 之类的编辑器则可以支持这些格式的新增功能。

就编辑纯文本文件这一点而言,与记事本和 VS Code 同类的软件还有 GNU nano, Vim, Emacs, Atom 等。但记事本本身功能太过简单, GNU nano, Vim, Emacs 等的使用场景与 VS Code 并不完全相同。这几款列举的软件中真正与 VS Code 定位差不多的就只有 Atom 了。

Atom、 VS Code 和 VSCodium

Atom 是代码托管网站 GitHub 推出的纯文本编辑器。技术上它是基于浏览器内核开发的图形化界面程序,拥有漂亮的外观、丰富的功能和极强的可扩展性与可自定义性。它的出现早于 VS Code,在许多方面都可谓 VS Code 的先行者。写这篇稿子之前我顺便搜了一下 Atom 的现状。据说这个项目在 2022 年 12 月 15 日就要停止维护并归档所有仓库了。

在微软收购 GitHub 之后 VS Code 和 Atom 的主导权都归了微软。从这一点来说,微软完全有动机去停掉 Atom 项目以减少己方同类产品的竞争。但个人觉得, Atom 项目的停止的原因其实不仅仅是这一点。早期 Atom 的优化其实很成问题,基本上用过的用户都会提到它的慢和卡。这使得优化更好,速度更快的 VS Code 出现之后,包括我在内的大量 Atom 用户转向了 VS Code。此外, VS Code 还分流了一部分 Visual Studio 的用户群体,相形之下 Atom 的用户群自然就显得小很多了。而且这两款产品并存的数年间,并没有发展出太大的差异化,同时彼此插件生态又不完全互通。在很多场景下,两款非常相似的软件都形成了零和博弈。这种情况使得在优化方面占据优势同时又逐步发展出自己插件生态的 VS Code 的优势进一步被放大。

说到这里其实得顺便解释一下,为什么作为商业软件公司的微软推出的 VS Code 能在看似是开源社区主场的纯文本编辑器领域击败社区创始的 Atom。其实这场竞争并不是以往的商业闭源软件大战社区开源项目的戏码, VS Code 本身也是一个开源软件。这其实是两个开源软件之间的竞争,而微软以公司身份参与到社区的互动当中。所以开源和商业并不是天然矛盾的。不论开源者过去做过什么,未来又会怎么做,此时的这个项目开源了,那么它就融入了开源社区,这算是开源的一个有趣之处。虽然 Atom 在市场的竞争中落败并停止了更新,但是由于其源码开放, Atom 用户们仍然可以编译使用它,乃至于为它修复漏洞提供更新。哪怕还有一个人愿意使用它或保存它,这个软件就不会消失。

VS Code 也是这样,即便微软以后抛弃了这个项目,用户也不会像 WoW 玩家那样感到无所适从。你仍然可以编译它、使用它、甚至为它做你认为需要的更新。事实上,即便是微软主导 VS Code 的现在, VS Code 项目也有社区编译版和社区分支存在。例如 VSCodium 就是一个完全社区编译的 VS Code,去掉了一切微软的信息跟踪遥测服务和商业商标等。不过相应的也无法使用微软和 GitHub 提供的插件商店和设置同步服务。不过也有一些替代方案,就插件商店来说, VSCodium 使用的是开源插件商店 Open VSX。配置同步则可以通过自行复制配置文件来搞定。虽然我平常使用这些开源替代方案并不频繁,但是我仍然觉得它们意义重大,因为它们提供了额外的选择和保障。

获取

VS Code 是一个跨平台项目,支持 Windows, macOS 和多种 Linux 系统,安装包可以在官网上找到。如果实在找不到合适的编译好的软件,可以找找社区编译版或者自己下载源码来编译。

以下是 VS Code 的官网:

上面除了有软件下载还有源码仓库链接、用户教程、开发文档和插件市场。用户教程部分其实写得不算太完善并没有覆盖到软件界面中的所有菜单、操作和提示信息,有时候得自己摸索或者查其他文档和源码。不过这个用户教程的内容覆盖大部分使用场景还是没啥问题的。

如果你实在想和微软撇清关系,顺便给软件换个 logo,可以考虑上文提及的 VSCodium (不过后续大部分内容默认使用的是 VS Code 而非 VSCodium):

软件的安装过程就不赘述了, VS Code 官网的用户教程已经说得比较详细了。这里仅仅对使用做一个大概的提示,软件默认打开之后有一个欢迎页面,可以在设置中搜索“Startup Editor”把开设界面设置成 none。侧边栏能提供文件目录和目录搜索替换之类的功能,点击侧边栏的标签可以隐藏它。这样就得到了一个及其简洁的界面,如果你还不知道它有什么比记事本多的功能,那么就先卸载掉记事本把 VS Code 当记事本用好了。

本系列的后续章节中,我们逐步介绍一些 VS Code 的配置方法、使用方法和拓展插件。


本文源码采用 MIT 协议开放,托管于: https://github.com/ZhiZe-ZG/ZZToolLibrary

如果觉得本文内容对您有用,希望您能在能力和意愿范围内给我一些资助。我不以此为生,但我也是个普通人。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容