
如约而至,微软已于今天推出 Visual Studio 2019 正式版,一同发布的还有 Visual Studio 2019 for Mac。
Visual Studio 2019 下载地址:https://visualstudio.microsoft.com/downloads/
Visual Studio 2019 for Mac 下载地址:https://visualstudio.microsoft.com/zh-hans/vs/mac/
Visual Studio 2019
正如官方宣称的“Code faster. Work smarter. Create the future”那样,Visual Studio 2019 引入了很多新功能和改进以实现这一目标。

▲VS 2019 新的启动窗口
如上图所示,新版本的改进包括简化克隆 Git repo、打开项目或解决方案,以及打开本地文件夹或创建新项目等一些常用的操作步骤。
此外在模板功能方面也有所改进,开发者可使用新列出的按受欢迎度排序的模板新建改进了搜索体验和筛选器的项目,还可基于标签进行搜索,轻松访问"最近使用的项目模板"列表。
除了在启动项目时的改进,Visual Studio 2019 也为开发者在编写代码时提供了不少新功能。例如代码导航、重构功能的改进、文档运行状况指示器以及一键代码清除功能以应用多个重构规则。
尤其值得一提的是 Live Share 功能,Visual Studio Live Share 是一项开发者服务,可让开发者与团队成员共享代码库及其上下文,并直接从 Visual Studio 内获得即时双向协作。利用 Live Share 功能,团队成员可以无缝且安全地读取、导航、编辑和调试已与他们共享的项目。Visual Studio 2019 中已默认安装此服务,并支持 C++ 和 Python 这两门呼声甚高的编程语言。

▲Live Share 运行截图
Live Share 支持在 Visual Studio 2019 和 Visual Studio Code 中使用。

▲左侧是 Visual Studio 2019,右侧是 Visual Studio Code
有关详细信息,请参见博客文章 Visual Studio Live Share for real-time code reviews and interactive education(用于实时代码评审和交互式教育的 Visual Studio Live Share)。
Visual Studio 2019 for Mac
该版本最值得关注的更新莫过于引入了新的 C# 编辑器、新的启动窗口、支持启动多个实例、支持 Unity 调试器。

▲Visual Studio 2019 for Mac 新的启动窗口

▲运行多个实例
除上面提到的,Visual Studio 2019 for Mac 还有以下值得关注的新特性:
-
引入了新的入门体验
-
添加新方法来设置多个启动项目,从而可以更轻松地创建解决方案 Run Configuration,它将在调试时启动多个项目
-
Visual Studio for Mac 现在可以检测到 Azure Functions 模板的更新可用,并提供升级它们的对话框
-
用 Windows 上的相同核心 Unity 调试器替换了 Mac 上的 Unity 调试器
-
添加对 Git 和 Azure DevOps / Team Foundation Server 的 Microsoft 帐户身份验证的支持
-
Visual Studio for Mac 8.0 Preview 与 Visual Studio 7.7 并行支持。由于 Mono 和 Xamarin SDK 在两个版本的 Visual Studio for Mac 之间共享,为了获得最佳体验,微软建议至少使用 Mono 5.18 版本。可供选择项则为 Xamarin.iOS 12.2.1,Xamarin.Android 9.1.0 和 Xamarin.Mac 5.2.1
参考链接
Visual Studio 2019 新特性
Visual Studio 2019 发布说明
Visual Studio 2019 for Mac 文档
Visual Studio 2019 for Mac 新特性介绍
引用来自“张朋举”的评论
能用rider坚决不用visual studio;比起visual studio还有很多不足的地方,支持rider雄起;
引用来自“marksion08”的评论
这工具有毒,最怕这种感觉一离开工具就没有生产力了,慢慢脱离VS而喜欢上Linux与Go一样的自由随意引用来自“开源中国射线科科长”的评论
企业版的支持从Json字串直接拷贝到C#实体且支持递归树比起visual studio还有很多不足的地方,支持rider雄起;
引用来自“唤魔经”的评论
不知道你们注意到没有,没有R语言了,企业版。引用来自“Megadotzipp”的评论
兄嘚,把企业版key交出来引用来自“东胜神洲”的评论
真实情况是,微软“怕”Java 的可移值性,削弱了 windows 平台,所以在 J++中加入了本地化的内容,这些本地化内容并不兼容所有平台,换句话来说,编译只能在 Windows 下使用,无法进行跨平台,这才是 SUN 告微软的最大原因(毕竟,Java 的跨平台是核心竞争力之一)。。C# 之所以弄得类似 Java 那样(在虚拟机上运行),也是受 Java 跨平台的影响。。只不过,C# 开始的跨平台,只是跨 windows 自己的平台 ( WinCE, Mobile, XP, Win8, Win10, WinServer 等等),例如只要是用 .NET 2.x 开发的,能装 .NET2.x 就能运行,不需要考虑 win api 带来的差异。。
引用来自“东胜神洲”的评论
大家可以想象,如果微软成功将 Java “圈死”在 windows 中,那 Java (在之前,可被认为是 win 平台的杀手)很明显,由 windows 的竞争者,降级变成 windows 下的一种开发语言,Java 的发展也就跟 Delphi 没什么两样了。。。这是微软的策略所在。。如果微软能成功,将 Linux 变成 windows 下的一个子系统的话, Linux 也将逐渐失去了与 windows 竞争的能力。。。在这一点上,我是非常敬佩微软的对“敌”“策略”。。
引用来自“robortly”的评论
一句话,C# 开发起来就是比Java开发起来爽很多,这是多年总结出来的经验。引用来自“不摘”的评论
go也挺爽的C#早开源,而且授权力度比java大多了,.net core 早就跨平台,全平台开发,关注当前的技术,回头再看你也回不去了,java这种企业应用红海,还不是面试造火箭,开发拧螺丝,避免这种情况当然去蓝海啊,比如c#,比如go。
当年就是微软平台太红了,才有java横空出世,出现广大开源浪潮和各种框架,难道现在不是到了另一个时间节点了吗?程序员避免被搞,被996,就要自觉的搞事情,还热衷大一统的技术最后坑的是自己,多地开花,躲开舒适区
atom:呵呵。。。
vs code:呵呵。。。
手:我觉得行。
磁盘:不!你不想!
Windows7的过时版本(未升级sp1):不!你不想!
引用来自“MrNice”的评论
试试,我还没装好,能用说一声Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF
Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
引用来自“dlx”的评论
目测哪里拷贝来了引用来自“东胜神洲”的评论
真实情况是,微软“怕”Java 的可移值性,削弱了 windows 平台,所以在 J++中加入了本地化的内容,这些本地化内容并不兼容所有平台,换句话来说,编译只能在 Windows 下使用,无法进行跨平台,这才是 SUN 告微软的最大原因(毕竟,Java 的跨平台是核心竞争力之一)。。C# 之所以弄得类似 Java 那样(在虚拟机上运行),也是受 Java 跨平台的影响。。只不过,C# 开始的跨平台,只是跨 windows 自己的平台 ( WinCE, Mobile, XP, Win8, Win10, WinServer 等等),例如只要是用 .NET 2.x 开发的,能装 .NET2.x 就能运行,不需要考虑 win api 带来的差异。。
引用来自“东胜神洲”的评论
大家可以想象,如果微软成功将 Java “圈死”在 windows 中,那 Java (在之前,可被认为是 win 平台的杀手)很明显,由 windows 的竞争者,降级变成 windows 下的一种开发语言,Java 的发展也就跟 Delphi 没什么两样了。。。这是微软的策略所在。。如果微软能成功,将 Linux 变成 windows 下的一个子系统的话, Linux 也将逐渐失去了与 windows 竞争的能力。。。在这一点上,我是非常敬佩微软的对“敌”“策略”。。
引用来自“robortly”的评论
一句话,C# 开发起来就是比Java开发起来爽很多,这是多年总结出来的经验。引用来自“Megadotzipp”的评论
key能用吗?引用来自“keep_wan”的评论
能引用来自“Megadotzipp”的评论
key能用吗?引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“crystalsis”的评论
矛盾的起点是微软想给java添加委托功能,被sun一通骂。引用来自“dwingo”的评论
看来Sun不告的话, 现在的J++就被MS改造成C#一样的语言了, 跟纯正的Java生态没法共享, 跟现在也没啥区别了.引用来自“crystalsis”的评论
微软想加到java规范里,加进去之后一样是通用的啊,sun不让加是sun的一贯态度,java是我的,你们对java的所有想法也是我的,一切要我来主导,不光对微软,对IBM也是这个态度。到最后所有平台都不出java虚拟机了,sun只好开放自己的示例虚拟机商用,另外sun跟微软的官司是sun要求微软必须在自家系统平台提供java支持,最后微软耍了个心眼,只支持到xp系统,1.4版本。引用来自“dwingo”的评论
当时的J++也没少魔改Java, 本来就是违反协议, 破坏生态的做法.引用来自“crystalsis”的评论
你没搞明白先后顺序,是往java标准里加东西不让,那个年代,sun只出java的标准,实现要各个平台自己实现,sun官方的是示例,加到标准里的,所有实现就都要实现这个功能,后来sun的傲慢成功的玩崩了才变成后来的样子的。微软往标准里添加不成功后才做的J++,这个作者是想给delphi加gc功能的一个大牛,borland不让加,去了微软,微软搞了这个之后sun怕微软平台的java实现微软不管了,起诉的微软,不过那个时候所有人对sun的不满到了顶点,所以后来虽然赢了官司,但还是要自己出面负责所有平台的java的实现了。引用来自“dwingo”的评论
往标准里加东西是要jcp委员会通过的,不是一家企业想加就能加的,否则就乱套了,最终对开发者没有好处。微软自己这么想定制那就自己玩dotnet好了,别起个跟Java类似的名字。引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“crystalsis”的评论
矛盾的起点是微软想给java添加委托功能,被sun一通骂。引用来自“dwingo”的评论
看来Sun不告的话, 现在的J++就被MS改造成C#一样的语言了, 跟纯正的Java生态没法共享, 跟现在也没啥区别了.引用来自“crystalsis”的评论
微软想加到java规范里,加进去之后一样是通用的啊,sun不让加是sun的一贯态度,java是我的,你们对java的所有想法也是我的,一切要我来主导,不光对微软,对IBM也是这个态度。到最后所有平台都不出java虚拟机了,sun只好开放自己的示例虚拟机商用,另外sun跟微软的官司是sun要求微软必须在自家系统平台提供java支持,最后微软耍了个心眼,只支持到xp系统,1.4版本。引用来自“dwingo”的评论
当时的J++也没少魔改Java, 本来就是违反协议, 破坏生态的做法.引用来自“crystalsis”的评论
你没搞明白先后顺序,是往java标准里加东西不让,那个年代,sun只出java的标准,实现要各个平台自己实现,sun官方的是示例,加到标准里的,所有实现就都要实现这个功能,后来sun的傲慢成功的玩崩了才变成后来的样子的。微软往标准里添加不成功后才做的J++,这个作者是想给delphi加gc功能的一个大牛,borland不让加,去了微软,微软搞了这个之后sun怕微软平台的java实现微软不管了,起诉的微软,不过那个时候所有人对sun的不满到了顶点,所以后来虽然赢了官司,但还是要自己出面负责所有平台的java的实现了。引用来自“MrNice”的评论
试试,我还没装好,能用说一声Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF
Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
引用来自“MrNice”的评论
试试,我还没装好,能用说一声Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF
Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
引用来自“来自山卡拉的你”的评论
支持xp吗?客户还在用xp,没办法😂引用来自“jackyxinli”的评论
@来自山卡拉的你 vs2017支持xp的,需要安装xp的sdk才行引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“crystalsis”的评论
矛盾的起点是微软想给java添加委托功能,被sun一通骂。引用来自“dwingo”的评论
看来Sun不告的话, 现在的J++就被MS改造成C#一样的语言了, 跟纯正的Java生态没法共享, 跟现在也没啥区别了.引用来自“crystalsis”的评论
微软想加到java规范里,加进去之后一样是通用的啊,sun不让加是sun的一贯态度,java是我的,你们对java的所有想法也是我的,一切要我来主导,不光对微软,对IBM也是这个态度。到最后所有平台都不出java虚拟机了,sun只好开放自己的示例虚拟机商用,另外sun跟微软的官司是sun要求微软必须在自家系统平台提供java支持,最后微软耍了个心眼,只支持到xp系统,1.4版本。引用来自“dwingo”的评论
当时的J++也没少魔改Java, 本来就是违反协议, 破坏生态的做法.引用来自“东胜神洲”的评论
真实情况是,微软“怕”Java 的可移值性,削弱了 windows 平台,所以在 J++中加入了本地化的内容,这些本地化内容并不兼容所有平台,换句话来说,编译只能在 Windows 下使用,无法进行跨平台,这才是 SUN 告微软的最大原因(毕竟,Java 的跨平台是核心竞争力之一)。。C# 之所以弄得类似 Java 那样(在虚拟机上运行),也是受 Java 跨平台的影响。。只不过,C# 开始的跨平台,只是跨 windows 自己的平台 ( WinCE, Mobile, XP, Win8, Win10, WinServer 等等),例如只要是用 .NET 2.x 开发的,能装 .NET2.x 就能运行,不需要考虑 win api 带来的差异。。
如果微软能成功,将 Linux 变成 windows 下的一个子系统的话, Linux 也将逐渐失去了与 windows 竞争的能力。。。在这一点上,我是非常敬佩微软的对“敌”“策略”。。
引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“crystalsis”的评论
矛盾的起点是微软想给java添加委托功能,被sun一通骂。引用来自“dwingo”的评论
看来Sun不告的话, 现在的J++就被MS改造成C#一样的语言了, 跟纯正的Java生态没法共享, 跟现在也没啥区别了.引用来自“crystalsis”的评论
微软想加到java规范里,加进去之后一样是通用的啊,sun不让加是sun的一贯态度,java是我的,你们对java的所有想法也是我的,一切要我来主导,不光对微软,对IBM也是这个态度。到最后所有平台都不出java虚拟机了,sun只好开放自己的示例虚拟机商用,另外sun跟微软的官司是sun要求微软必须在自家系统平台提供java支持,最后微软耍了个心眼,只支持到xp系统,1.4版本。C# 之所以弄得类似 Java 那样(在虚拟机上运行),也是受 Java 跨平台的影响。。只不过,C# 开始的跨平台,只是跨 windows 自己的平台 ( WinCE, Mobile, XP, Win8, Win10, WinServer 等等),例如只要是用 .NET 2.x 开发的,能装 .NET2.x 就能运行,不需要考虑 win api 带来的差异。。
引用来自“一只囧蟹”的评论
开发300k的程序,下载30g引用来自“公子进少”的评论
握草 干了我30个G引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“crystalsis”的评论
矛盾的起点是微软想给java添加委托功能,被sun一通骂。引用来自“dwingo”的评论
看来Sun不告的话, 现在的J++就被MS改造成C#一样的语言了, 跟纯正的Java生态没法共享, 跟现在也没啥区别了.引用来自“来自山卡拉的你”的评论
支持xp吗?客户还在用xp,没办法😂引用来自“公子进少”的评论
握草 干了我30个G引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“crystalsis”的评论
矛盾的起点是微软想给java添加委托功能,被sun一通骂。引用来自“唤魔经”的评论
不知道你们注意到没有,没有R语言了,企业版。引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“郭文龙”的评论
微软被Sun告不是因为微软意图破坏Java生态,搞自己的J++吗?引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“crystalsis”的评论
怎么可能支持java,微软被sun告的还不够么引用来自“巴拉迪维”的评论
我就好奇 Mac 版本是不是能编写 WinForm 或者 WPF 界面吗?引用来自“久永”的评论
不在于能不能编写,而是在于能不能跑吧?还有 Mac 版的来历你该知道啊。
引用来自“懒懒想睡觉”的评论
我还是下个完整的离线吧。vs_community.exe --layout c:\vslayout --lang zh-CN引用来自“赵大海”的评论
按2017的尿性,第一版本至少三四十G起,然后每更新一次,你再运行一下命令行多个10G。引用来自“懒懒想睡觉”的评论
我还是下个完整的离线吧。vs_community.exe --layout c:\vslayout --lang zh-CN引用来自“cassan”的评论
dotnet core 3.0呢?引用来自“德莫罗”的评论
说好的支持java 呢?结果还是没有引用来自“红薯”的评论
握草,年度大版本发布啊!!!引用来自“巴拉迪维”的评论
我就好奇 Mac 版本是不是能编写 WinForm 或者 WPF 界面吗?还有 Mac 版的来历你该知道啊。
引用来自“巴拉迪维”的评论
我就好奇 Mac 版本是不是能编写 WinForm 或者 WPF 界面吗?