直播预约通道开启!2021腾讯数字生态大会邀您共探产业发展新机遇! 了解详情
写点什么

Visual Studio Code:来自微软的跨平台的代码编辑器

2015 年 5 月 06 日

近日,在 BUILD 2015 大会第一天的主题演讲中,微软宣布了Visual Studio 家族新成员 Visual Studio Code 。这是一款免费的轻量级代码编辑工具,可以用于 Mac OS X、Linux 和 Windows 平台,旨在为开发人员构建和调试 Web 及云应用程序提供一种新的选择。
Visual Studio Code 界面简洁,功能强大,包含了许多开发人员在代码编辑过程中最为需要的特性:

  • 括号匹配:当光标靠近其中一个括号时,另一个括号会高亮显示,使用 Ctrl+Alt+] 可以跳至匹配的括号;
  • 智能提示:为许多语言提供自动补全功能,该功能可以一直启用,也可以通过 Ctrl+Space 触发,并且支持 CamelCase;
  • 参数提示:输入方法调用时会弹出参数提示;
  • 代码片段(Snippets)”:内置支持 Emmet 缩写,可以通过 Tab 展开;
  • 转到定义:按住 Ctrl,并将鼠标停在“符号(Symbol)”上,就可以预览符号声明;
  • 转到符号:通过此功能可以转到文件内的任意符号;
  • “边槽指示器(Gutter indicators)”:如果打开的文件夹是一个 Git 库,那么 VSCode 将为变化的内容添加标识;
  • “预览(Peek)”:支持预览编辑器,可以以内嵌方式显示引用查询结果,便于快速切换上下文。

Visual Studio Code 还提供了其它一些编辑特性,详细信息请查看这里
不过,Visual Studio Code 并没有为它所支持的语言无差别地提供上述特性,下表是它支持的各种语言与编辑特性的一个简单对照:

特性 语言 语法高亮、括号匹配 Batch、C++、Closure、Coffee Script、DockerFile、F#、Go、Jade、Java、HandleBars、Ini、Lua、Makefile、 Markdown 、Objective-C、Perl、PHP、PowerShell、Python、R、Razor、Ruby、SQL、 Visual Basic、XML 智能提示、“ 代码检查(linting)”、“代码分级(outline)“ CSS HTML JavaScript JSON Less Sass 重构、查找所有引用 C# TypeScript
除了上述编辑特性外,Visual Studio Code 还提供了如下特性: - 增强了对 ASP.NET 5 开发 Node.js 开发的支持。不过, ASP.NET 5/DNX 的 OS X 和 Linux 版本尚处于早期 Beta 测试 / 预览状态。

  • 集成 Git 的常用命令。该特性需要首先安装 Git。
  • 内置代码调试,Node.js 代码调试功能已处于预览阶段,后续还将增加更多语言的调试功能。

另外,从架构上讲,Visual Studio Code 借助 GitHub Electron Shell 将 JavaScript、Node.js 等 Web 技术与原生应用程序的速度和灵活性结合在了一起。它使用一个了基于 HTML 的工业级编辑器。该编辑器与“Monaco”云编辑器和 IE F12 工具所使用的编辑器相同,但版本更新、速度更快。而且,Visual Studio Code 采用了一种工具服务架构,这使它可以使用许多支撑 Visual Studio 的技术,包括 Roslyn for .NET、TypeScript、Visual Studio 调试引擎等等。将来,Visual Studio Code 团队还会继续优化和调整其架构,为它增加一个公共可扩展模型,使开发人员可以构建和使用插件,自定义编辑 - 构建 - 调试体验。
感兴趣的读者可以下载试用。需要注意的是,用户一旦安装使用,即表示他允许该工具在出现崩溃时自动收集崩溃转储。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 5 月 06 日 08:344734
用户头像

发布了 1008 篇内容, 共 319.5 次阅读, 收获喜欢 289 次。

关注

评论

发布
暂无评论
发现更多内容

区块链赋能数字经济,为知识和版权确权定价

CECBC区块链专委会

区块链 知识产权 数字经济

CommonMistakes

卓丁

面试阿里太难了!二本毕业、两年crud经验,侥幸通过面试定级P6

Java成神之路

Java 编程 程序员 面试

架构师训练营-第十二周作业

Geek_a327d3

物联网为什么需要5G?

华为云开发者社区

5G 物联网

淘宝服务端高并发分布式架构演进之路

简爱W

Java java架构师

大数据2学习总结

周冬辉

捡到宝啦!阿里内部人手一本的Springboot进阶手册,先学为敬

Java架构师迁哥

35岁以上的程序员们,后来都干什么去了?

华为云开发者社区

程序员 职业规划 架构师

从零开始搭建完整的电影全栈系统(二)——简单的WEB展示网站的搭建

刘强西

Yii2 yii

【DevCloud · 敏捷智库】暴走在发布前夜的开发,你怕不怕?

华为云开发者社区

版本控制 系统集成 发布

云栖大会倒计时8天,新一代CDN的技术突破和应用实践专场有什么看点?

阿里云Edge Plus

CDN CDN加速

够开放吗?来,和一群开发者搞事情!

易观大数据

LeetCode题解:225. 用队列实现栈,一个队列, 压入 - O(n), 弹出 - O(1),JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

Securecrt 使用

yuanhang

securecrt

北京或先行落地央行数字货币 人民币3.0时代将来临

CECBC区块链专委会

数字货币 银行 人民币

到底什么是分布式系统?你需要了解这些

华为云开发者社区

分布式 部署

JavaScript 简介

InfoQ_34a83d636158

搜索引擎如何推荐网页

dongge

Linux 基础操作

yuanhang

linux命令

java安全编码指南之:表达式规则

简爱W

Java java架构师

常用数据分析指标

java快速开发平台功能特点之代码生成器

力软.net/java开发平台

Java 分布式 代码组织 平台应用服务

为什么说区块链是制造信任的机器?

CECBC区块链专委会

区块链 不可篡改

架构师0期Week13总结

Nan Jiang

每周花6小时跟清华大牛学Java:JVM、高并发多线程、算法、微服务。

Java成神之路

Java 编程 程序员 面试

JavaScript中的原型到底该如何理解?

Walker

Java 前端 面向对象编程 原型

架构师训练营-第十一周作业

Geek_a327d3

架构师课程第十三周总结

dongge

架构师13周练习

小蚂蚁

微信群总是有人发广告?看我用Python写一个自动化机器人消灭他!

刘早起😶

Python

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

Visual Studio Code:来自微软的跨平台的代码编辑器-InfoQ