什么是Visual Studio Code?

44

最近我了解了微软的 Visual Studio Code。我主要在 GNU/Linux 上使用 C 和 C++ 语言。我的问题是,Visual Studio Code 是否只是一个简单的编辑器,它使用平台上现有的编译器(在我的情况下是 gcc)作为后台编译器,还是它自带了它自己的 VS 编译器?


6
Visual Studio Code只是一个编辑器,具有智能感知功能和一些与Git和调试器的集成。@Cyber他在询问Visual Studio Code,它只是一个编辑器。 - rfreytag
是的,据我所知,它基本上是微软Visual Studio的缩小版。 - rfreytag
9
我认为此问题与主题无关,因为它询问正在开发的产品功能特性,很可能会在未来过时并因此变得不太有用。获取有关 VS Code 的信息更好的来源是该产品网站。 - jpw
元问题:http://meta.stackoverflow.com/questions/300186/close-reason-guidance - Deduplicator
1
这个问题并没有太多意义。你肯定可以轻易地去阅读产品文档,了解它是否自带编译器或者需要自己提供。难道 Stack Overflow 应该承载大量形式相同的问题,比如“产品 X 有哪些特性”吗?请说明你自己所做的研究,并清晰地说明为什么你认为 Stack Overflow 社区比产品文档本身更适合你获取这些信息,而不是其他方式。 - Peter Duniho
亲爱的未来读者:请注意,Visual Studio Code是一款正在积极开发中的产品,本帖中的大多数答案现在已经接近三年了,并且包含过时和错误的信息。如果您对Visual Studio Code的当前功能集感兴趣,请查看它们的主页:https://code.visualstudio.com - Marcus Mangelsdorf
8个回答

25

Visual Studio Code只是一款编辑器,具有智能感知功能和一些Git和调试器集成。

编辑:更多信息请参见此处:https://code.visualstudio.com/Docs


8
很遗憾,它没有提供 C/C++ 的 IntelliSense,只有语法突出显示功能:https://code.visualstudio.com/docs/languages 编辑说明:C/C++ 也没有调试器集成。不过,Git 的集成非常好用!它似乎更适合于 Web 应用程序,调试器适用于 node.js。 - Alfredo Gimenez
那么Code::Blocks、CodeLite和Dev-C++比Visual Studio Code更好吗? - Fennekin
1
我不相信说它只是一个编辑器是准确的。现在它既不是(Visual Studio或Eclipse),也不是(NotePad ++或Sublime)。它介于两者之间。它可以在PC、MAC或Linux上运行。在Connect大会上,微软宣布支持扩展。它现在支持Node和Asp.net WebAPI的简单调试。它当然支持JavaScript变量和函数的跳转到定义。叫我一个阴谋论者。但我认为Erich Gamma实质上正在为新一代Visual Studio打基础。 - Ehsan Samani
5
C++智能感知由插件支持:https://marketplace.visualstudio.com/items/austin.code-gnu-global(我尚未使用)。 - Joon Hong

14

它更像一个简单的代码编辑器而不是IDE,主要关注于编辑 web 代码(Html、Javascript、CSS)、TypeScript 和 C#。对于这些语言,提供了高级的“类 IDE”功能,但对于其他语言则提供了更基础的功能(语法高亮)。

另外,请参见《Visual Studio Code 编辑器建立在什么基础上?》


它只是一款编辑器吗?它不能像Java那样编译程序吗? - RoCkDevstack
1
这实际上是一个相当不错的CSS编辑器。我下载它来处理一些C#代码,但我主要用它来编辑CSS。它并不编译C#或任何其他语言,只是一个编辑器而已。 - Halfstop

3
根据 VentureBeat,新的Visual Studio Code软件可用于Mac OS X,Linux和Windows。它具备代码完成、Git集成、linting和复杂的调试功能,并且支持多种语言。"你可以使用这个工具来构建现代Web和云应用程序,对ASP.NET、Node.js和TypeScript提供了极好的支持。"更多信息在此处

1
听起来很有趣...直到"对于ASP.NET、Node.js和TypeScript的出色支持"。对我来说不适合,谢谢。 - Javier

2
Visual Studio Code是由微软开发的免费、跨平台、超快速和轻量级代码编辑器,适用于Windows、Linux和OS X。由于许多开发人员使用Windows作为他们的开发环境,但也有很多开发人员使用Linux和Mac,因此Visual Studio Code就是为他们而设计的。当然,你也可以在Windows上使用它。由于ASP.NET 5也是跨平台的,因此在Linux和Mac上拥有一个代码编辑器是有意义的。最近发布了ASP.NET 5 RC1,请阅读一下《ASP.NET 5 RC1和RC2的新功能》,如果您是ASP.NET 5的新手,则请阅读《ASP.NET 5有哪些变化的快速概述》。现在ASP.NET 5已经成为ASP.NET Core 1.0。
Visual Studio Code基于Electron框架构建,该框架使用Web技术构建跨平台桌面应用程序。

1

抱歉,除了JavaScript程序员外,我看不出Visual Studio Code对其他编程语言有什么用处,除非你只是喜欢在漂亮的颜色中看到自己的C++/Perl/Java代码。

直接回答您的问题:

是的,它只是一个简单的编辑器。

不,它不使用平台上存在的任何编译器,如gcc或其他C++编译器。它不会编译您的C++代码。

除了(显然)“ASP.NET、Node.js或TypeScript”之外,它不带有自己的VS编译器。

但是,就某种定义下“开发工具”的概念而言,它是Visual Studio系列中第一个跨平台的开发工具。


这绝不是一个简单的编辑器!它包括重构、智能感知和调试支持,除了 JavaScript 之外还支持一些语言,如 TypeScript 和 C#,而且他们正在不断添加更多功能,所以 Visual Studio Code 的目标是成为一个带有一些 IDE 功能的编辑器。不幸的是,C++ 支持确实只有语法着色,但我认为在某个时候他们会添加对它和其他语言的支持。已经有了更多语言的扩展,如 Go,并且还支持 PHP 的调试。 - eyalalonn
我非常自信,你可以更改tasks.json以使用C++编译。 例如,如果您的文件夹中有一个Makefile,则可以使用makefile扩展名进行编译。 - andrea
只是为了详细说明,请参见此处的第3节: https://code.visualstudio.com/docs/languages/markdown#_compiling-markdown-into-html - andrea
@andrea,在你看来,甚至记事本++也不是一个简单的文本编辑器吗?它还支持很多插件,你可以在其中编译代码...未来,所有支持插件的"简单编辑器"都不是简单的编辑器... - nosbor
你觉得我真的在乎开始一个毫无意义的争论吗?再试一次。 - andrea
只是更新一下,C++支持正在进行中,即将到来! :) - eyalalonn

1

1
尽管微软没有提到这一点,但据看来,vscode是ZED ide/文本编辑器的克隆版本。ZED的独特之处在于一套旨在“减少认知负荷”的原则。
与ZED不同,重要的功能之一是自动保存功能和VIM键盘绑定。 [编辑:原来是支持自动保存的,但默认关闭。] 它几乎复制了ZED的所有其他功能。尽管缺少这些重要功能降低了vscode的效用,但它跨平台运行,具有最少的窗口装饰、可拆分面板和用户可编辑配置,并且基于node.js引擎,使其成为一个非常实用的跨语言编辑器。
显然,如果您是老派的Windows/asp.net/.net开发人员,您不需要像vs code或zed这样的工具,因为您始终待在Visual Studio中。然而,对于那些能够灵活使用mac或linux并可以交替使用python、node.js、json、c#、typescript等编程语言的人来说,轻量级、快速、跨平台的代码编辑器至关重要。这些选项使许多任务变得简单、快速和更加简洁。

0
根据维基百科。

https://en.wikipedia.org/wiki/Visual_Studio_Code

Visual Studio Code是由Microsoft开发的源代码编辑器,适用于Windows、Linux和macOS。它包括调试支持、嵌入式Git控制、语法高亮、智能代码补全、代码片段和代码重构等功能。它还是可自定义的,因此用户可以更改编辑器的主题、键盘快捷方式和偏好设置。它是免费和开源的,尽管官方下载是基于专有许可证的。

Visual Studio Code基于Electron,一个用于在Blink排版引擎上运行Node.js应用程序的框架。尽管它使用了Electron框架,但是该软件并不是Atom的一个分支,实际上是基于Visual Studio Online的编辑器(代号“Monaco”)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接