0

0

Visual Studio和VS Code该怎么选?

青灯夜游

青灯夜游

发布时间:2019-11-28 14:21:40

|

40776人浏览过

|

来源于sohu

转载

几十年来,我在上午工作时,会启动微软visual studio(或其前身之一,比如visual c ++或visual interdev),然后在它启动过程中泡杯茶,还可能去参加个早会。我进行开发/测试/调试循环时会整天开着ide,避免另一次启动延迟。我开发约200万行代码的c++项目时,还通过自动运行批处理脚本以加快处理每天的工作,脚本可以在凌晨检出代码、完成产品的全面重建。

如今,我觉得用不着每天早上先打开代码项目,或者让它们整天开着。Visual Studio Code通常启动速度足够快,即使对于大型项目而言,我也可以在几分钟内立马投入工作。我常说:Visual Studio Code本身需要每月更新,我安装的许多扩展常常本身需要更新。不过,连更新Visual Studio Code中的十几个扩展所需的时间也比Visual Studio重建大型C++项目的符号表所花的时间少得多。

不过,在Visual Studio Code和Visual Studio之间进行选择不像在轻量级编辑器和重量级IDE之间进行选择那么简单。虽然Visual Studio Code具有高度可配置性,但Visual Studio的功能高度全面。你的选择可能不仅取决于你需要的语言支持和功能,还取决于你的工作方式。不妨看看这两款开发工具的功能和不足。

VS Code(Visual Studio Code)是什么?

Visual Studio Code是一种轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于Windows、MacOS和Linux。它内置支持Java、Type和Node.js的功能,还有丰富的扩展生态系统,这些扩展面向其他语言(如C++、C#、Java、Python、PHP和Go)和运行时环境(比如.Net和Unity)。

除了轻量级和快速启动这个理念外,VS Code还有下列功能:面向变量、方法和导入模块的IntelliSense代码完成功能;图形化调试;代码检查/校验;多光标编辑;参数提示及其他强大的编辑功能;出色的代码导航和重构;以及内置的源代码控制(包括Git支持)。这大部分功能是从Visual Studio技术改编而来的。

VS Code本身使用Electron shell、Node.js、Type和Language Server协议构建,且每月更新一次。扩展可根据需要经常更新。支持的丰富程度因不同的编程语言及其扩展而异,从简单的语法高亮、括号匹配到调试和重构,不一而足。如果没有语言服务器可用,你可以通过TextMate着色器为偏爱的语言添加基本支持。

Visual Studio Code代码库中的代码是采用MIT许可证的开源代码。VS Code产品本身是采用标准的微软产品许可证交付的,因为它有一小部分针对微软的自定义。尽管有商业许可证,但它是免费的。

1.jpeg
Visual Studio Code中看到的Visual Studio Code的源代码

请注意显示函数作者和最近更改日期的消息(使用来自Git代码库的信息创建)。另请注意屏幕中间的trackSelection()的“peek”弹出窗口。

Visual Studio是什么?

Visual Studio(当前版本是Visual Studio 2019)是微软面向Windows和MacOS的首选IDE。使用Visual Studio,你可以开发、分析、调试、测试、协作和部署软件。

在Windows上,Visual Studio 2019目前支持17种工作负载,这些工作负载是针对不同开发目标的一致的工具和组件安装包。工作负载是对Visual Studio安装过程所作的重要改进,因为Visual Studio 2019的整个下载和安装很可能耗时数小时,会塞满磁盘、尤其是SSD。

2.jpeg
Visual Studio 2019支持17种不同的工作负载,代表不同的开发目标

Visual Studio 2019 for Mac的安装程序比Windows版本来得简单,主要是由于它不支持一样多的目标。它让你可以使用.Net开发Web、移动和桌面,默认情况下支持Unity、Azure和Docker。.Net Core、Android、iOS和MacOS等目标是可选的,后三者使用Xamarin。

3.jpeg
Visual Studio for Mac安装程序

请注意,与Visual Studio for Windows提供17种工作负载相比,它只有4个可选目标。

HIX Translate
HIX Translate

由 ChatGPT 提供支持的智能AI翻译器

下载

Visual Studio 2019有三种SKU:社区版(免费,不支持企业使用),专业版(第一年1199美元/ 799美元续订)和企业版(第一年5999美元/2569美元续订)。企业版拥有面向架构师的功能、高级调试和测试,这些功能是另两种SKU所没有的。

4.jpeg
Visual Studio 2019编辑UI

请注意用于测试和分析的菜单项,Visual Studio Code没有这些功能。

Visual Studio还是Visual Studio Code?

你会认为:就任何特定的软件开发任务而言,在Visual Studio和Visual Studio Code之间做出决定就像在IDE和编辑器之间做出决定一样简单。事实并非如此,主要是由于VS Code经配置后,可以做到对许多编程语言而言与IDE很接近。然而,伴随这种可配置性而来的是许多不足。

比如说,如果你的开发风格是测试驱动型,Visual Studio立即就可以使用。另一方面,VS Code有大约15个测试驱动的开发扩展,可支持Node.js、Go、.Net和PHP。同样,Visual Studio与数据库(尤其是Microsoft SQL Server及其衍生版)的兼容性很好,但VS Code有好多数据库扩展。Visual Studio拥有出色的重构支持,但Visual Studio Code为六种语言实施了基本的重构操作。

有几种明确的情况。比如说,如果你是软件架构师,又可以使用Visual Studio企业版,你会想要使用Visual Studio。如果你需要与团队成员协作、共同开发或调试,那么Visual Studio是更好的选择。如果你需要进行严谨的代码分析或性能分析或从快照进行调试,那么Visual Studio企业版会帮助你。

VS Code在数据科学界往往很受欢迎。然而,Visual Studio 2019拥有提供许多功能的数据科学工作负载。

Visual Studio不能在Linux上运行,VS Code可以运行。另一方面,Visual Studio for Windows拥有Linux/C ++工作负载和Azure支持。

针对使用Visual Studio和VS Code中都支持的语言的日常开发/测试/调试周期,选择哪一个其实归结为个人偏好。如果你每次搞开发项目往往搞数小时,那么Visual Studio可能更适合。如果你从事短时间开发、在其他任务之间轮换,Visual Studio Code可能会让你更满意。

推荐教程:vscode教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++多线程并发控制与线程安全设计实践
C++多线程并发控制与线程安全设计实践

本专题围绕 C++ 在高性能系统开发中的并发控制技术展开,系统讲解多线程编程模型与线程安全设计方法。内容包括互斥锁、读写锁、条件变量、原子操作以及线程池实现机制,同时结合实际案例分析并发竞争、死锁避免与性能优化策略。通过实践讲解,帮助开发者掌握构建稳定高效并发系统的关键技术。

2

2026.03.16

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

90

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

136

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

380

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

64

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

111

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

113

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

245

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

723

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共40课时 | 43.8万人学习

go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号