今日凌晨,微软的文本(代码)编辑器 Visual Studio Code(简称 VS Code),发布了首个正式版,距离首个 beta 版上线时间刚好一年。

在十多年的编程经历中,我使用过非常多的的代码编辑器(包括 IDE),例如 FrontPage、Dreamweaver、EditPlus、EmEditor、Notepad++、Apatana、MyEclipse、TextMate、Coda、VIM、Intellij IDEA、Sublime Text、PhpStorm、Atom、Brackets、MacVIM、Xcode 等等。

它们都是很优秀的编辑器,尤其是 Sublime Text 和 PhpStorm ,十分适合 web 开发。

只可惜它们都不够完美,因为「一款完美的编辑器」至少应该包含以下「5F 特点」

  • Fast,启动速度快、打开文件速度快、文件搜索速度快;

  • Fantastic,界面设计简洁大方,主题配色赏心悦目,布局合理,体验流畅;

  • Fundamental,基础功能齐全,能在文本编辑(Editor)与集成开发环境(IDE)之间取得很好的平衡;

  • Flexible,编辑器应该有丰富的扩展插件(及其生态市场),以满足用户个性化扩展需求;

  • Free,免费和开源。

VS Code 以上 5F 都做得非常好,它很有希望成为第一款完美的代码编辑器。

我之所以如此看好 VS Code,还因为它的软件设计理念和它背后的团队:

  1. VS Code 基于 Electron,是跨平台开源编辑器的主流方向,并且使用 TypeScript 解决了性能诟病;

  2. VS Code 由 Monaco 发展而来,其架构师为大名鼎鼎的「GoF 设计模式」作者之一  Erich Gamma

  3. 微软在 Visual Studio 项目中积累了长达二十年的编辑器 IDE 设计经验

  4. VS Code 借鉴了大量 Sublime Text 和 PhpStorm 的优秀特性与插件生态。

从软件架构、资金资源和开发经验来看,VS Code 团队超过了有史以来任何一个编辑器团队。

更令人激动的是,VS Code 完全开源和免费(终于可以不再愧疚的使用破解版编辑器了好吗 - -),在开源社区的帮助下,VS Code 还在不断地发展和改进中。在 Github 上仅五个月时间,就有超过 1370 多条 Issues 建议。从我的实际体验来看,每条 Issues 都能在当天收到 VS Code 团队的快速反馈与跟进。

有句话应用在 VS Code 团队身上特别适合:

比你优秀的人不可怕,可怕的是比你优秀的人比你更努力。

更可怕的是,他们还是富二代,不差钱。

VS Code 1.0 正式版中修复了许多问题,并且加入了中文语言支持(但最好还是用英文),是一款值得学习并使用的编辑器。在此,猫哥正式向各位程序员和编程爱好者们,推荐这款我最喜爱的编辑器。感兴趣的朋友可继续查看《Visual Studio Code 配置指南》,这份入门指南将会在 Github 上不断完善和更新。

Visual Studio Code,完美的编辑器的更多相关文章

  1. Visual Studio Code打造Markdown编辑器

    1.准备工作: OS:Windows10 专业版或企业版 安装:Visua Studio Code,版本 1.23 (2018-5-3) 官网下载:https://github.com/Microso ...

  2. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  3. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  4. 使用 Visual Studio Code 进行 Laravel 开发(转)

    转自:https://laravelacademy.org/post/8016.html 关于 Laravel 代码开发工具大家各有所好,大部分应该在用 PHPStorm,Sublime 也有很多粉丝 ...

  5. 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器

    微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...

  6. visual studio code 编辑器的配置及快捷键等, vscode, csc

    visual studio code (vsc) 对开发node.js,javascript,python,html,golang等比较友好,同时支持git浏览及分屏对比,运行速度快,所以是值得一用的 ...

  7. ubuntu14.04 LTS Visual Studio Code 编辑器推荐

    除了ubuntu geany (茶壶图标) 这个一直爱好的编辑器,发现一个新的编辑器“Visual Studio Code”,也是很好用,记录下 https://code.visualstudio.c ...

  8. 代码编辑器——Visual Studio Code

    一.介绍 Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代 ...

  9. 个人工具,编辑器visual studio code

    个人收集的使用方法:简化版 主要基于基础web前端开发,visual studio code教程——基础使用.扩展插件安装使用 下载地址: https://visualstudio.microsoft ...

随机推荐

  1. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  2. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  3. JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  4. 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert

    使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...

  5. mybatis_基础篇

    一.认识mybatis: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...

  6. js学习之类型识别

    用来判别类型的方法有好多,整理了一下4种方法,平时用的时候,在不同情景下,还是要结合着使用的. 方法一 typeof:可以识别标准类型,除了Null:不能识别具体的对象类型,除了Function &l ...

  7. [原]一个针对LVS的压力测试报告

    LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...

  8. [数据结构]——二叉树(Binary Tree)、二叉搜索树(Binary Search Tree)及其衍生算法

    二叉树(Binary Tree)是最简单的树形数据结构,然而却十分精妙.其衍生出各种算法,以致于占据了数据结构的半壁江山.STL中大名顶顶的关联容器--集合(set).映射(map)便是使用二叉树实现 ...

  9. css选择器

    常用css选择器,希望对大家有所帮助,不喜勿喷. 1.*:通用选择器 * { margin: 0; padding: 0; } 选择页面上的全部元素,通常用于清除浏览器默认样式,不推荐使用. 2.#i ...

  10. WEB安全隐患

    org.apache.commons.lang.StringEscapeUtils 进行输入框内容处理 [StringEscapeUtils.escapeSql(str);StringEscapeUt ...