Visual Studio Code和Visual Studio之间有哪些区别?

826

34
从 Visual Studio 切换到 VS Code,会错过什么吗? - Gerard Simpson
27
在我看来,如果你是在Windows环境下工作,你应该停止浪费时间在VS Code上。这只是另一种现在对于极客和多平台用户而言很热门的东西。它甚至不能与Visual Studio相提并论。 - FLICKER
2
相关博客文章 https://blogs.msdn.microsoft.com/wael-kdouh/2017/09/05/should-i-use-visual-studio-2017-or-vs-code-for-my-next-angular-application/ - Michael Freidgeim
2
在我看来,在任何平台上,你都应该停止浪费时间在Visual Studio上。VS Code是正确方向的一步。VS完全超载了,但我不得不安装一个扩展来获得代码编辑器中的垂直线。糟糕的是,我需要使用可怕的MSVC编译器与VS Code一起使用,因为很多人不关心平台独立性,这就是为什么微软仍然拥有如此多的权力。(顺便说一下,我正在Windows 10上使用VS Code和CMake开发C++代码) - Neonit
  1. 我简直不敢相信,VS Code 已经发布了七年多了。
  2. 一个更容易回答的问题可能是“它们有什么共同点?”
  3. 尽管尝试过几次,我从未能够适应 VS Code。人们称 VS 很慢,但我在使用 VS Code 时遇到的人类缓慢远比 VS 多花几毫秒来完成这个或那个任务要糟糕得多。有时我会打开一个 VS 实例,只是为了使用其 Git 插件来管理没有与 VS 相关内容的存储库,因为它比我尝试过的每个 Git 扩展都要好。
- bubbleking
显示剩余2条评论
14个回答

487

Visual Studio (完整版本) 是一个“全功能”和“方便”的开发环境。

Visual Studio (免费的“Express”版本 - 仅限2017年之前) 是完整版本的特定功能和简化版本。特定功能意味着根据您的目标有不同的版本(如Visual Studio Web开发人员、Visual Studio C#等)。

Visual Studio (免费社区版 - 自2015年起) 是完整版本的简化版本,替代了2015年之前使用的分离的express版本。

Visual Studio Code (VSCode)是一个跨平台(Linux、Mac OS、Windows)编辑器,可以通过插件按需扩展功能。

例如,如果要使用 Visual Studio Code 创建一个 ASP.NET 应用程序,需要自行执行几个步骤来设置项目。每个操作系统都有单独的教程。(创建使用 Visual Studio Code 创建 ASP.NET 应用程序的教程)


5
@RBT,就许可证而言,Express被允许在商业和企业中使用,但Community则不行。只有当有人实现了缺失的功能时,VS Code才能成为新的VS Express。 - Петър Петров
9
除了许可证之外,Visual Studio Community 几乎与 Visual Studio Professional 相同。 - Brian
9
@ПетърПетров 这不准确。根据许可条款 https://www.visualstudio.com/license-terms/mlt553321/,如果你是个人或小公司,你可以商业使用它。 - Mo Sanei
3
可以在浏览器中运行(作为客户端-服务器架构的 Docker 化), 使得 VS Code 成为一款“云原生”的 IDE,有着取代 Jupyter 用于 Python 用户的野心。GitHub链接VS Code for Python链接 - mirekphd
2
请注意,通常情况下,Visual Community Edition不能被大型公司用于商业项目:https://visualstudio.microsoft.com/license-terms/mlt031819 - richardsun
所以基本上VS Code就是Emacs?/我躲开 - Justin Goldberg

282

Visual Studio Code是一个编辑器,而Visual Studio是一个集成开发环境。

Visual Studio Code跨平台且快速,而Visual Studio则不够快。

请注意,现在已经有了Visual Studio for Mac,但它与Visual Studio(Windows)是不同的产品。它基于Xamarin Studio,缺少对一些旧的.NET项目类型的支持。它可以成功地构建在Visual Studio 2017中创建的解决方案。Visual Studio for Mac拥有更有限的用户界面(例如,没有可自定义的工具栏)。因此,在跨平台工作方面,Visual Studio Code可能仍然更为适用。


246
“and not fast”这句话是一种轻描淡写的语气,意思是“不算快”。 - Mark Nadig
34
如果我暂时忽略平台独立性,我们还有其他任何使用情况可以激励我使用VS Code吗?如果我只是一个Windows开发人员,我显然会更喜欢免费的社区版(它是一个完整的IDE),不是吗? - RBT
11
对于 Code 和 Community 两个编程工具来说,你可能会发现在 Code 上有更好的扩展可用。它们支持不同的可扩展性点,所以它们的扩展集是相互独立的。如果你使用的是比较小众(不太像微软)的开发流程,那么你可能会发现 Code 扩展市场更适合你。 - Jonathan Lidbeck
37
@johnpapa,你对“IDE”有什么定义?由于VS Code允许调试,所以我认为它不仅仅是一个编辑器。 - Massimiliano Kraus
16
VS Code不是一个文本编辑器。记事本是一个文本编辑器。VS Code可以编译、运行、调试和完成代码,因此它是一个集成了开发所需的所有功能的IDE。 - dan carter
显示剩余4条评论

220

以下是Visual Studio和Visual Studio Code之间的详细区别。

最明显的区别是.NET被分成两个部分:

  • .NET Core(适用于Mac、Linux和Windows)
  • .NET Framework(仅适用于Windows)

所有本地用户界面技术(Windows Presentation FoundationWindows Forms等)都是框架的一部分,而不是核心的一部分。

“Visual”在Visual Studio中(来自Visual Basic)在很大程度上是与视觉UI(拖放WYSIWYG设计)相关的,因此从这个意义上说,Visual Studio Code就是没有可视化界面的Visual Studio!

第二个最明显的区别是Visual Studio倾向于围绕项目和解决方案进行设计。

Visual Studio Code:

  • 这是一款轻量级的源代码编辑器,可用于查看、编辑、运行和调试应用程序的源代码。
  • 简单来说,它就是没有可视化界面的 Visual Studio,主要是超级文本编辑器。
  • 它主要以文件为导向,而不是项目。
  • 它没有任何脚手架支持。
  • 它是 Sublime TextAtomElectron 上的竞争对手。
  • 它基于 Electron 框架开发,使用 Web 技术构建跨平台桌面应用程序。
  • 它不支持 Microsoft 的版本控制系统 Team Foundation Server。
  • 它对 Microsoft 文件类型和类似功能的 IntelliSense 有限。
  • 它主要被处理客户端技术(HTML、JavaScript 和 CSS)的 Mac 开发人员使用。

Visual Studio:

如其名,这是一个集成开发环境(IDE),包含了项目开发所需的所有功能,例如代码自动完成、调试器、数据库集成、服务器设置、配置等等。
它是一个完整的解决方案,主要用于.NET相关开发人员。它包括从源代码控制到缺陷跟踪器再到部署工具等所有内容。它拥有开发所需的一切。
它广泛用于.NET相关项目(虽然您也可以用它做其他事情)。社区版是免费的,但如果您想充分利用它,则需要付费。
Visual Studio旨在成为世界上最好的IDE(集成开发环境),提供全套开发工具,包括强大的代码补全组件IntelliSense、能够调试源代码和机器代码的调试器、关于ASP.NET开发的一切以及一些关于SQL开发的内容。
在最新版本的Visual Studio中,您可以在不离开IDE的情况下开发跨平台应用程序。而且,根据您选择的组件,Visual Studio占用超过8GB的磁盘空间。
简而言之,Visual Studio是一个终极开发环境,但它相当沉重。
参考:https://www.quora.com/What-is-the-difference-between-Visual-Studio-and-Visual-Studio-Code

1
可能语句“_VS Code is Visual Studio without the Visual!_”应该改为“_VS Code是类似于Visual Studio的代码编辑器,但没有可视化界面!_” - user1451111
30
你有关于这个断言的任何证据吗?- 这主要是由在Mac上处理客户端技术(HTML / JS / CSS)的开发人员使用。 - Ernesto Allely
4
你能否详细说明“社区版是免费的,但如果你想充分利用它,那就不免费”?因为据我所知,社区版和专业版的功能集类似,所以你应该能够“充分利用它”,对吗? - Yin Cognyto
1
@YinCognyto - 是的,Community可以处理大量的开发工作,包括多个项目和部署到各种目标平台。除非您需要仅在Enterprise中才有的高端设计/团队工具(或者在符合MS成为企业的标准的公司工作),否则您可以在Community中完成所有需要的工作。除非您通过Xamarin针对移动设备:Xamarin Profiler需要Enterprise许可证,因此您必须支付费用或放弃使用。 - ToolmakerSteve
2
虽然在回答的时候,“所有本地用户界面技术(Windows Presentation Foundation,Windows Forms等)都是框架的一部分而不是核心。”这是正确的,但很快就不会了,请参见Core 3。 - g.pickardou
显示剩余6条评论

68

Visual Studio

  • 集成开发环境(IDE)
  • 除免费版本外,需要付费。
  • 对于低端PC而言,它的CPU占用较高,容易出现延迟。
  • 主要用于Windows软件开发,包括DirectX程序、Windows API等。
  • 高级智能感知功能(是最好的;Visual Studio Code的IntelliSense扩展排名第二)
  • 具有内置调试器、易于配置的项目设置(虽然开发人员倾向于不使用GUI界面)
  • 微软支持(比Visual Studio Code更多)
  • 主要用于C/C++(Windows)、.NET和C#项目以及SQL Server、数据库等。
  • 下载大小极大,占用空间并随着时间的推移而变慢。
    • 这是唯一的缺点,迫使我在小型项目中使用Visual Studio Code*
  • 包括生成依赖图的工具。重构工具对Visual Studio提供了很好的支持。
  • 具有VB.NET、C++.NET和C#的所见即所得编辑器。(对于首次用户来说,它足够简单,不需要通过windows.h

Visual Studio Code

  • 免费的开源文本编辑器
  • 具有IntelliSense(但如果未安装Visual Studio,它将无法立即使用,需要配置以指向MinGW等)
  • 更小的下载大小和RAM要求。与IntelliSense一起使用需要约300 MB RAM。(编辑:某些头文件倾向于使内存需求增加到7-8 GB,例如OpenGL和GLM库)
  • 它可以在低端电脑上运行。(启动仍然很慢,特别是如果使用PowerShell而不是CMD)
  • 支持较少(开源,因此您可以自己修改它)
  • 生成任务是项目特定的。即使您想以普通配置构建它。
  • 主要用于Web开发(这适用于所有免费文本编辑器)。它们倾向于展示JavaScript / HTML支持而不是C / C ++。Visual Studio展示了Visual Basic / C ++而不是其他语言。
  • 缺乏良好的扩展(尽管它还很新)
  • 重新配置项目/工作区设置会让你感到困难。我更喜欢GUI方式。
  • 跨平台
  • 具有集成的终端(PowerShell启动太慢了)
  • 最适合较小的项目和测试代码(您知道如果您感到无聊并想打印“Hello,World!”,则等待3-5分钟,而Visual Studio加载,然后再等待1-2分钟进行项目创建,最终实现打印“Hello,World!”是没有意义的)。

  • 1
    我认为符号调试并不是典型的“自由开源文本编辑器”功能,而VS Code绝对不是一个源代码文本编辑器。 - g.pickardou

    54

    补充之前的答案,两者之间的一个重大区别是Visual Studio Code有一个所谓的“便携”版本,在Windows上运行时不需要完全管理权限,并且可以放置在可移动驱动器中以方便使用。


    27

    针对Unity3D用户...

    • VSCode比VS快得多。从Unity中在VSCode中打开文件可以瞬间完成,而VS则非常慢。

    • VS可以编译代码、构建应用程序等,它像Unity本身或XCode一样是一个庞大的IDE。VSCode确实只是一个功能齐全的文本编辑器。VSCode不是编译器:VSCode只是“仅仅是一个文本编辑器”。

    • 使用VSCode,您需要在项目中安装“Visual Studio Code”包。

    输入图片描述

    • 当您第一次下载并安装VSCode时,只需在计算机上打开任何C#文件即可。它会立即提示您安装所需的C#包。这很简单且无害。

    • 不幸的是,VSCode通常只有一个窗口!打开另一个窗口有点麻烦。

    • 在VS中几乎不可能更改编辑器字体等设置。相比之下,VSCode有极好的首选项-非常简单,从未出现问题

  • 就我所知,在Unity中使用的每个VS功能都存在于VSCode中。(因此,代码着色、跳转到定义、它理解/自动完成功能中的每一个内容,并且可以从Unity中打开,在Unity控制台双击某些内容将打开文件到该行等等)

  • 如果你习惯了VS,并想更换为VSCode,更改编辑器总是很困难的,它们是如此亲密,但它们非常相似;你不会有太大的心痛。

  • 简而言之,如果你是一个Unity3D中的VS用户,

    并且你要尝试VSCode...

    1. VSCode在各方面的速度约为19万亿倍更快。它会让你大吃一惊。

    2. 它似乎有每个功能

    3. 基本上VS是世界上最大的IDE和应用程序构建系统:VSCode只是一个编辑器。(确实,这正是你在Unity中想要的,因为Unity本身就是IDE。)

    4. 别忘了点击安装相关的Unity

    如果我没有弄错的话,没有任何理由使用VS来开发Unity。

    Unity是一个IDE,所以你只需要一个文本编辑器,而这就是VSCode所提供的。VSCode在速度和偏好方面都大大优于VS。唯一可能的问题是,在VSCode中多窗口有点笨拙!

    解决VS中可恶的“复制两次”的问题!

    如果你使用Unity时也在使用Visual Studio(以下简称VS),你可能会遇到一个非常恼人的问题:经常出现VS尝试打开两次,也就是说你最终会有两个或多个VS副本在运行。迄今为止没有人能够解决这个问题或找出它发生的原因。幸运的是,这个问题在VSCode中从未出现过

    在Mac上安装VSCode - 超级简单

    无需安装程序等等,只需在下载页面下载一个压缩的Mac应用程序包。将其放入应用程序文件夹中即可完成安装。

    折叠代码(Mac和Windows键盘快捷键不同)

    奇怪的是,没有任何菜单项或文档可以了解如何折叠代码,但是以下是键盘快捷键:

    https://dev59.com/Tl0a5IYBdhLWcg3wqaRS#30077543

    在VSCode中设置颜色等关键提示

    特别是对于可能发现颜色奇怪的Mac用户:

    无价之宝#1:

    https://dev59.com/aFkS5IYBdhLWcg3we26Z#45640244

    无价之宝#2:

    https://dev59.com/KlkS5IYBdhLWcg3wUVIF#63303503

    元文件...

    为了保持Unity中“资源管理器”列表的整洁:

    在此输入图片描述

    这段内容是一个HTML代码片段,其中包含一个链接和一个图像。请注意,我将保留原始HTML标记并进行翻译,但不会添加任何解释或更改原始意思。

    9
    “在VS中,几乎不可能更改字体”是错误的。可以通过选择“工具”->“选项”->“环境”->“字体和颜色”来更改字体。并不是“几乎不可能”。 - Jack Aidley
    1
    那么你能在VS Code中使用断点进行逐步调试吗?如果不能,那么仍然需要使用VS。 - WDUK
    @WDUK 是的,你可以这样做,但首先确保解决 Omni Sharp 错误。 - Kepol

    10
    截至2021年,我认为它们的主要区别如下:
    • Visual Studio Code是完全基于Electron构建的全新代码库,不同于“旧版”Visual Studio,它是开源的并且“公开”地积极开发(在github上)。
    • Visual Studio更专注于“传统”的Windows GUI应用程序开发,并为此提供了一揽子服务,包括GUI(“可视化”)编程的所见即所得风格。
    • Visual Studio Code相对较“裸”,但已吸引了许多社区开发人员扩展其功能以执行各种复杂任务。社区开发的扩展程序可用于将其作为几乎任何编程语言的集成开发编辑器的基础(例如我用它来写Julia程序)。

    8

    Visual Studio可以直接编译、运行和调试程序。

    Visual Studio Code开箱即用时几乎不能做任何事情,只能打开和编辑文本文件。但是它可以通过安装其他软件来扩展功能,包括编译、运行和调试。这可能会让你感到麻烦。

    如果您正在寻找Notepad的替代品,那么Visual Studio Code是您的选择。

    如果您想要在不费力地进行设置和安装的情况下开发和调试代码,那么Visual Studio是您的选择。


    2
    这是非常不准确的,但也许自从这个答案被给出以来已经有很大改变了。如果你第一次在VSCode中打开大多数代码文件类型,它会自动寻找插件,找到它,并弹出一个小消息在右下角说点击安装它。你点击。它会非常快速地在后台安装。然后你立即拥有了语言或框架的基本IDE体验,包括语法高亮、自动完成、错误检查、编译、调试等。根据我的经验,现在使用VSCode比使用VS更快更容易上手。 - dallin

    6

    对我来说,一个巨大的区别是Visual Studio Code只能在一个显示器上使用,而Visual Studio则支持多屏幕设置。


    1
    重复工作区操作可能会对您有所帮助。您也可以将选项卡拖动到不同的窗口中。 - Piotr

    5

    Visual Studio Code更多地是一个纯代码开发工具,而VS2019/VS2017等更多地是一种非编码方法来开发程序。在VS中,您可以获得按钮工具和窗口工具栏工具以及所有那些花哨的东西。在VSC中,您必须从头开始编写整个内容。我建议初学者使用VSC进行编码,但对于高级开发人员来说,使用VS更为合适。


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