在.NET世界中沉浸了十年之后,不禁思考:为什么需要使用Visual Studio Code(VS Code)?现有的Visual Studio对来说已经足够了。然而,VS Code是微软推出的一个完全不同的产品,虽然它没有VS那么强大,但它们之间并没有太多可比性。VS Code拥有自己的独特优势。
在看来,VS Code的两个主要产品差异化点是:
VS Code提供了一种新的开发者工具选择,它结合了代码编辑器的简洁性和流线型体验,以及开发者在核心代码编辑-调试周期中所需的最佳功能。尽管它不像VS那样用户友好,但它的加载时间几乎是即时的,具有超快的速度。此外,它已经集成了基本的GIT客户端、代码自动补全和调试工具。这种精简特性支持了特定开发者的生产力。
VS Code是Visual Studio家族中第一个代码编辑器,也是第一个跨平台开发工具——支持OSX、Linux和Windows。如果更喜欢以代码编辑器为中心的开发工具,或者正在构建跨平台的Web和云应用程序,VS Code是正确的选择。
尽管VS Code技术还不到一年,但其采用/增长速度令人钦佩。VS Code的发布历史如下:
从时间线图可以看出,本月的主要发布1.0相当稳定,并支持核心开发者的关键特性。
VS Code基于文件和文件夹。可以打开包含代码或项目文件的文件或文件夹。VS Code提供了直观的用户界面——用户界面基本上包括以下部分:
VS Code的一个最引人注目的特性是支持并排编辑。它允许开发者并排打开多达三个编辑器。此外,它还允许用户根据需要调整编辑器的大小、重新排序和重新定位。
例如,为NodeJS编写了一个UDP通信的示例代码,所有这些代码都可以通过并排编辑功能查看,如下所示:
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
var msg = "Server::message";
server.on('message', function(data, client) {
console.log('Received data from client: ' + data);
console.log('Client IP address: ' + client.address + ' Port:' + client.port);
});
server.on('listening', function() {
var address = server.address();
console.log('Server is listening at IP: ' + address.address + ' Port:' + address.port);
});
server.on('error', function(err) {
console.log('Server Error: ' + err);
server.close();
})
server.bind(9094);
上述代码片段是创建UDP服务器端功能的NodeJS示例程序。UDP客户端示例程序如下所示。
var net = require('dgram');
var client = net.createSocket('udp4');
var port = 9094;
var server = 'localhost';
var message = new Buffer("Client::this is from client");
console.log("message is ON");
client.send(message, 0, message.length, port, server, function(err, bytes) {
if (err) console.log(err);
else client.close();
});
VS Code内置了对ASP.NET 5开发(C#)和Node.js开发(TypeScript和JavaScript)的丰富支持,这些技术支持了Visual Studio的底层技术。目前,VS Code支持30多种编程语言,如C#、Java、PHP、C++以及新兴语言如R、NodeJS等。
对于严肃的编码,开发者通常需要将代码视为不仅仅是文本。它内置了始终开启的IntelliSense代码补全、更丰富的语义代码理解和导航以及代码重构支持。
VS Code有能力超越内置定制,通过Visual Studio Marketplace的额外扩展,或者使用Yeoman创建自己的扩展,VS Code的高可扩展性是其设计的一部分。
根据经验/观点,VS Code的前5大功能是:
“众包”这个词是“人群”和“外包”的组合。这个想法是将工作外包给一群工人。
推动VS Code成功的不仅仅是任何其他东西,而是来自社区的反馈和互动。
今天,有Node.js、Go、C++、PHP和Python等语言的扩展,以及更多的语言、linter和工具。VS Code不仅被开发团队使用,还在像Progressive Insurance这样的公司中被使用,VS Code不仅被开发者使用,还被分析师和数据科学家使用。