ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio Code 和 Visual Studio 之间有什么区别?

Microsoft 最近发布了 Visual Studio Code,我对它的用法有点困惑,因为 Visual Studio 与它有很多功能相似之处。

更新 Jenny 的帖子:社区版本实际上是从 VS 2013 开始的。(2013 是一个很好的免费平台,用于生成快速进出的项目版本,与 2015 不同,它本身是稳定的。)即使在 2015 年,Express 版本仍然存在,但是“express”版本现在针对单个目标(即选择 Web 或 Desktop 或 W10 中的一种)而不是 Express 2008/2010 单一语言(即选择 c++、c#、vb ...中的一种)样式作为轻量级平台。即便如此,官方 Express 下载网站也建议人们真的应该考虑社区 - 为什么不呢?
从 Visual Studio 切换到 VS Code,我们会错过什么吗?
恕我直言,如果您在 Windows 环境中工作,您应该停止在 VS Code 上浪费时间。这是现在对于书呆子和多平台用户来说很热门的另一件事。它甚至不接近 Visual Studio。

P
Peter Mortensen

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

Visual Studio(免费的“Express”版本 - 仅在 2017 年之前)是完整版本的以功能为中心的简化版本。以功能为中心意味着根据您的目标有不同的版本(Visual Studio Web Developer、Visual Studio C# 等)。

Visual Studio(免费社区版 - 自 2015 年起)是完整版的简化版,取代了 2015 年之前使用的单独的快速版。

Visual Studio Code (VSCode) 是一个跨平台(Linux、Mac OS、Windows)编辑器,可以根据您的需要使用插件进行扩展。

例如,如果您想create an ASP.NET application using Visual Studio Code,您需要自己执行几个步骤来设置项目。每个操作系统都有一个单独的教程。


@RBT,许可方面,Express 被允许在商业和企业中使用,社区不是。 VS Code 应该成为新的 VS Express,前提是有人确实实现了缺失的功能
除了许可之外,Visual Studio Community 几乎与 Visual Studio Professional 相同。
@ПетърПетров 这不准确。根据许可条款 visualstudio.com/license-terms/mlt553321,如果您是个人或小公司,您可以将其用于商业用途。
“...并且可以是 run in the browser(dockerized 为客户端-服务器架构),使 VS Code 成为“云原生”IDE,并有志于 replace Jupyter for python users
注意:一般来说,Visual Community Edition 不能被大公司用于商业项目:visualstudio.microsoft.com/license-terms/mlt031819
P
Peter Mortensen

Visual Studio Code 是一个编辑器,而 Visual Studio 是一个 IDE。

Visual Studio Code 跨平台且速度快,而 Visual Studio 并不快。

请注意,Visual Studio for Mac 现在可用,但与 Visual Studio (Windows) 相比是不同的产品。它基于 Xamarin Studio,不支持某些较旧的 .NET 项目类型。它确实成功构建了在 Visual Studio 2017 中创建的解决方案。 Visual Studio for Mac 具有更有限的 UI(例如,没有可自定义的工具栏)。因此,对于跨平台工作,Visual Studio Code 可能仍然更可取。


“而且不快”#understatement
如果我暂时忽略平台独立性,我们还有其他用例可以激励我使用 VS Code 吗?如果我是仅 Windows 的开发人员,我显然更喜欢免费的社区版(这是一个完整的 IDE)。不是吗?
与社区相比,您可能会发现一组更好的可用于 Code 的扩展。它们支持不同的扩展点,因此它们的扩展集是互斥的。如果您使用更深奥(更少 Microsoft-y)的工作流程,您可能会发现代码扩展市场更合适。
@johnpapa,您对“IDE”的定义是什么?由于 VS Code 允许调试,因此我不能将其仅视为编辑器。
@MassimilianoKraus 好问题。其他编辑器也在调试(例如 atom)。我认为编辑器的主要重点是编写代码/文本。我认为如果 IDE 是一个全能的,有很多内置的附加功能(例如,所有东西的按钮)。 IntelliJ 和 VS 是 IDE,IMO。 Atom、vi、VS Code、Sublime 是编辑器,IMO。也许在网上某处有更好的解释:)
P
Peter Mortensen

我将在下面提供 Visual Studio 和 Visual Studio Code 之间的详细区别。

如果你真的看它,最明显的区别是 .NET 被分成了两部分:

.NET Core(Mac、Linux 和 Windows)

.NET 框架(仅限 Windows)

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

Visual Studio(来自 Visual Basic)中的“Visual”在很大程度上与 Visual UI(拖放所见即所得)设计同义,所以从这个意义上说,Visual Studio Code 是没有 Visual 的 Visual Studio!

第二个最明显的区别是 Visual Studio 倾向于以项目和解决方案为导向。

视觉工作室代码:

它是一个轻量级的源代码编辑器,可用于查看、编辑、运行和调试应用程序的源代码。

简单来说就是没有 Visual UI 的 Visual Studio,主要是超人的文本编辑器。

它主要面向文件,而不是项目。

它没有任何脚手架支撑。

它是 Sublime Text 或 Atom on Electron 的竞争对手。

它基于 Electron 框架,用于使用 Web 技术构建跨平台桌面应用程序。

不支持微软的版本控制系统;团队基础服务器。

它对 Microsoft 文件类型和类似功能具有有限的 IntelliSense。

它主要由 Mac 上处理客户端技术(HTML、JavaScript 和 CSS)的开发人员使用。

视觉工作室:

顾名思义,它是一个 IDE,它包含项目开发所需的所有功能。像代码自动完成、调试器、数据库集成、服务器设置、配置等等。

它是一个完整的解决方案,主要供 .NET 相关的开发人员使用。它包括从源代码控制到错误跟踪器再到部署工具等的所有内容。它拥有开发所需的一切。

它广泛用于 .NET 相关项目(尽管您可以将其用于其他事情)。社区版是免费的,但如果你想充分利用它,那么它不是免费的。

Visual Studio 旨在成为世界上最好的 IDE(集成开发环境),它提供了全栈开发工具集,包括一个强大的代码完成组件 IntelliSense,一个可以调试源代码和机器代码的调试器,以及关于 ASP.NET 开发的一切,以及一些关于 SQL 开发的东西。

在最新版本的 Visual Studio 中,您可以在不离开 IDE 的情况下开发跨平台应用程序。并且 Visual Studio 占用超过 8 GB 的磁盘空间(根据您选择的组件)。

简而言之,Visual Studio 是一个终极的开发环境,而且相当沉重。

参考: https://www.quora.com/What-is-the-difference-between-Visual-Studio-and-Visual-Studio-Code


可能是声明“VS Code 是没有 Visual 的 Visual Studio!”应该是“VS Code 是没有 Visual 的 Visual Studio 之类的代码编辑器!”
你有任何证据证明这种说法吗? - 它主要由在 Mac 上处理客户端技术 (HTML/JS/CSS) 的开发人员使用。
您能否详细说明“社区版是免费的,但如果您想充分利用它,那么它不是免费的”?因为据我所知,社区版的功能设置与专业版相似,所以您应该能够“充分利用它”,对吧?
@YinCognyto - 是的,社区非常有能力处理大量开发,包括多个项目和部署到各种目标平台。除非您需要仅在企业中提供的高端设计/团队工具(或在符合 MS 企业标准的公司工作),否则您可以在社区中完成所需的一切。除非您通过 Xamarin 定位移动设备:Xamarin Profiler 需要企业许可证,因此您必须付费或不付费。
而“所有本机用户界面技术(Windows Presentation Foundation、Windows Forms 等)都是框架的一部分,而不是核心。”在回答时是真的,不会很快,请参阅Core 3。
R
Recoder

视觉工作室

IDE

除了免费版本,它是一个付费 IDE。

它在 CPU 上相当重,在低端 PC 上滞后。

它主要用于 Windows 软件开发,包括 DirectX 程序、Windows API 等。

Advanced IntelliSense(有史以来最好的;Visual Studio Code 的 IntelliSense 扩展名列第二)

它具有内置调试器、易于配置的项目设置(尽管开发人员往往不使用 GUI 设置)

Microsoft 支持(超过 Visual Studio Code)

主要用于 C/C++ (Windows)、.NET 和 C# 项目以及 SQL Server、数据库等。

超大的下载大小、空间利用率和随着时间的推移而减速。这是唯一迫使我将 Visual Studio Code 用于较小项目的问题*

这是唯一迫使我将 Visual Studio Code 用于较小项目的问题*

包括生成依赖图的工具。重构工具对 Visual Studio 有很好的支持。

具有用于 VB.NET、C++.NET 和 C# 的 VYSIWYG 编辑器。 (对于第一次使用的用户来说很容易,而不是通过 windows.h)

视觉工作室代码

免费的开源文本编辑器

有 IntelliSense(但如果没有安装 Visual Studio,它就不能开箱即用,需要配置为指向 MinGW 等)

较小的下载大小和 RAM 要求。使用 IntelliSense,它需要大约 300 MB RAM。 (编辑:一些头文件往往会将内存需求扩大到 7-8 GB,例如 OpenGL 和 GLM 库)

它适用于低端PC。 (启动速度仍然很慢,尤其是使用 PowerShell 代替 CMD 时)

较低的支持(开源,所以可以自己修改)

构建任务是特定于项目的。即使您想以 vanilla 配置构建它。

主要用于 Web 开发(这适用于所有自由文本编辑器)。他们倾向于展示对 C/C++ 的 JavaScript/HTML 支持。 Visual Studio 在其他语言上展示了 Visual Basic/C++。

缺乏好的扩展(虽然它仍然是新的)

让您很难重新配置您的项目/工作区设置。我更喜欢 GUI 方式。

跨平台

有一个集成终端(虽然PowerShell在启动时太慢了)

它最适合较小的项目和测试代码(您知道自己是否感到无聊并想打印“Hello, World!”,在 Visual Studio 加载时等待 3-5 分钟,然后再等待一到 2 分钟是没有意义的在项目创建时,最后让它打印“你好,世界!”)。


我不认为符号调试是典型的“免费开源文本编辑器”功能,对 VS Code e 来说绝对不是源文本编辑器。
P
Peter Mortensen

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


F
Fattie

对于 Unity3D 用户...

VSCode 比 VS 快得令人难以置信。在 VSCode 中从 Unity 立即打开文件。而VS非常慢。

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

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

https://i.stack.imgur.com/MarAi.png

首次下载并安装 VSCode 时,只需打开计算机上的任何 C# 文件即可。它会立即提示您安装所需的 C# 包。这是无害且容易的。

不幸的是,VSCode 通常只有一个窗口!打开另一个窗口是大惊小怪的。

在 VS 中,几乎不可能更改编辑器字体等。相比之下,VSCode 具有 FANTASTIC 偏好 - 非常简单,从来没有问题。

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

如果你习惯了VS。并且您想更改为 VSCode。编辑总是很难改变,他们很亲密,但很相似;你不会有很大的心痛。

简而言之,如果您是 VS for Unity3D 用户,

你将尝试 VSCode ......

VSCode 在各个方面都快 19 万亿倍。它会让你大吃一惊。它似乎具有所有功能。基本上 VS 是世界上最大的 IDE 和应用程序构建系统:VSCode 只是一个编辑器。 (事实上,这正是 Unity 想要的,因为 Unity 本身就是 IDE。)不要忘记单击安装相关的 Unity 包。

如果我没记错的话,没有任何理由将 VS 与 Unity 一起使用。

Unity 是一个 IDE,所以你只需要一个文本编辑器,这就是 VSCode。 VSCode 在速度和偏好方面都非常出色。唯一可能的问题 - VSCode 中的多窗口有点笨拙!

VS中那个可怕的“双重副本”问题......解决了!

如果您将 VS 与 Unity 一起使用。有一个令人气愤的问题,VS 经常会尝试打开两次,即你最终会运行两个或多个 VS 副本。没有人能够解决这个问题或弄清楚到底是什么原因造成的。幸运的是,VSCode 永远不会出现这个问题。

在 Mac 上安装 VSCode - 难以置信的简单。

没有安装程序等。在下载页面上,您下载了一个压缩的 Mac 应用程序。把它放在应用程序文件夹中,你就完成了。

折叠式的! (Mac/Windows 按键不同)

奇怪的是没有任何用于折叠的菜单条目/文档,但这里是关键:

https://stackoverflow.com/a/30077543/294884

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

特别是对于可能觉得颜色很奇怪的 Mac 用户:

无价的帖子#1:

https://stackoverflow.com/a/45640244/294884

无价的帖子#2:

https://stackoverflow.com/a/63303503/294884

元文件...

为了保持左侧文件的“Explorer”列表整洁,在 Unity 案例中:

https://i.stack.imgur.com/Rko5g.png


“在 VS 中,几乎不可能更改字体”是错误的。工具->选项->环境->字体和颜色。不是“几乎不可能”。
那么你可以在 VS 代码中使用断点进行单步调试吗?因为如果没有,那么仍然需要 VS。
P
Peter Mortensen

开箱即用,Visual Studio 可以编译、运行和调试程序。

开箱即用,Visual Studio Code 除了打开和编辑文本文件外几乎什么都不做。它可以扩展为编译、运行和调试,但您需要安装其他软件。这是一个PITA

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

如果您想开发和调试代码而不需要花费数天时间来设置和安装东西,那么 Visual Studio 就是您的最佳选择。


P
Peter Mortensen

一个巨大的区别(对我来说)是 Visual Studio Code 只是一个监视器。使用 Visual Studio,您可以使用多屏幕设置。


重复工作区操作可能会对您有所帮助。您也可以在不同的窗口中拖动选项卡。
A
Antonello

截至 2021 年,我认为主要区别在于:

Visual Studio Code 是一个全新的代码库(基于 Electron),而不是“旧”的 Visual Studio,它是开源的,并且在“开放”中积极开发(在 github 上)

Visual Studio 更专注于“传统”Windows GUI 应用程序开发,并且为此提供了电池支持,包括 GUI 的 WYSIWYG 编程风格(“视觉”)

Visual Studio Code 虽然本身就相当“裸露”,但已经吸引了许多社区开发人员来进行扩展以做最疯狂的事情。存在社区开发的扩展以将其用作几乎任何编程语言的集成开发编辑器的基础(例如,我将它用于 Julia)


P
Peter Mortensen

Visual Studio Code 与命令提示符/终端集成,因此在需要在 IDE 和终端/命令提示符之间切换时会很方便,例如:连接到 Linux。


P
Peter Mortensen

对我来说,Mac 上的 Visual Studio 不支持 Node.js(编辑和调试),而 Visual Studio Code 做得很好。


D
DARSIN

Visual Studio Code 更多是纯代码开发工具,而 VS2019/VS2017 等更多是用于开发程序的非编码方法。在 VS 中,您可以获得按钮工具和窗口工具栏工具以及所有花哨的东西。在 VSC 中,您必须从头开始编写整个代码。我向刚刚学习编码的人推荐 VSC,而向高级开发人员推荐 VS。


C
CYPS84

值得一提的是,VSCode 推广了(微软的)TypeScript 编译器,并捆绑了对该语言的一流支持,这使得编辑器以 Web 为中心,而 Visual Studio 主要用于微软的原生、C 系列、Windows/XBox 的东西。