如何评价 Visual Studio 2017?
24 个回答
不邀自来
从第一个Preview起就保持关注,听说昨天要开Connect2016了,估计了一下是时候发RC了,于是小睡一会醒了发现果然发布了。
总体评价:本次更新非常着重 现代化 设计,继续在宇宙第一的位置上领跑,并将 官方逼死同人 进行了下去。
好处:新功能实用性都非常强
坏处:把项目升级到2017会对以前版本的VS兼容性很差,必须通知团队中的所有人换新IDE
容我对着Release Note详细道来:
Visual Studio 2017 发行说明全新安装体验 :
上一次安装程序大更新还是在2010到2012的时候,这次更新就是以更现代、模块化为主题。
顺便这次也不再强制安装VB和C#,对于需要用VS写其它语言的用户应该是个好消息。
IDE性能改进 :
不仅小项目,大项目也有所改进(比如打开时间为分钟级的Roslyn解决方案),这一项以前曾饱受诟病。
起始页重新设计 :
最近使用列表更好用了(不容易点错了),同时新闻不再占那么大版面了,很注重使用的设计。
改进的代码导航与搜索 :
嗯,这两个功能我是知道有插件实现了的,官方逼死同人+1
不再需要对着长长的引用列表懵逼了
EditorConfig支持:
官方逼死同人+2,前几天我还在Team里说大家都去安装一下EditorConfig插件呢。
插件系统更新:
- 插件对功能的依赖:随着高度模块化安装,也是需要的
- 批量安装、云记录插件喜好:终于迈向现代了
- 使用vsix在更多地方安装文件:由于只有vsix格式的插件才能完全在扩展管理器内操作,这一更新等于优化了扩展管理工作
解决方案系统更新:
- 允许打开文件夹:不再强制「每个项目必须有一个项目描述文件」的思维
-
轻量级加载:卡在项目加载这种事情我也遇到过,比如想打开并立刻编译的情形,应该会有所改善
增加更多语言支持:
- 仅支持语法着色和自动完成:
-
Bat、Clojure、CoffeeScript、CSS、Docker、F#、Groovy、INI、Jade、Javadoc、JSON、LESS、LUA、Make、Markdown ++、Objective-C、Perl、PowerShell、Python、Rust、ShaderLab、SQL、Visual Basic .NET、YAML。
- 支持代码段(除了语法着色和自动完成以外):
-
CMake、C++、C#、Go、Groovy、HTML、Java、Javadoc、JavaScript、Lua、Perl、PHP、R、Ruby、Shellscript、Swift、XML。
- 支持导航到(除了语法着色和自动完成以外):
- C++、C#、Go、Java、JavaScript、PHP、TypeScript、Visual Basic。
(求求你们不要再把VS支持说成C#的优点了,Java在VS的文本编辑器里可是接近一等公民的待遇)
http:// ASP.NET 项目概述页更新:
不再那么古典了
体系结构依赖关系的实时认证:
将准则性的东西交给IDE去检查,自然是极好的。
实时单元测试:
更新:了解了一下其行为
进行改动之后不再需要手动编译->运行单元测试,IDE会自动运行涉及到的单元测试,进一步把一些检查从编译器提前到文本编辑期。
(对于那种编译时间都超长的项目应该是挺有用的)
新的vsdevcmd.bat:
我就一句话:请出PowerShell版本,谢谢
运行到指定行:
这个功能记得VB6都有,居然到现在才加上
「附加到进程」更新:
有一个插件专门用来搞这个的,逼死+3
新的异常查看器:
缓解了在一个长链调用中突然蹦出来一个NullReferenceException时的那种无力感。
IntelliTrace事件筛选:
挺好的,加强了现有的分类功能,毕竟记录的事件不少,而真正有用的其实没多少。
性能查看器更新:
结合了函数调用关系图,看起来更直观了。
可以分析外部代码的开销、直接预览项目代码,免除了找到目标之后翻看代码的工作。
Chrome调试支持:
支不支持Edge的来着……
C++编译器例行更新:
好像也没什么好说的啊,似乎也没有什么特别大的新闻
C++ Core Check代码分析:
isocpp/CppCoreGuidelines说实话我开始觉得这个挺重要,能够在很大程度上减少「烂C++代码的数量」
然而又想了想,对于那种连Warning都不看的人,他们会去用这个分析吗
顺便求其他编译器的用户来说一下这个功能的支持情况
C++ IDE:
一大堆实验性功能现在变成默认开启了
内置的cmake支持
C#7和VB14:
嗯GitHub上的Roslyn看的我已经没有新鲜感了,顺便还有一种「怎么还有这么多功能需要拖到下一个版本」的感觉
新增的重构功能:
官方逼死同人+4,真的有一大堆插件在干这个
代码风格支持增强:
我跟你们说,除了大括号换行以外,C#按照this、var、命名大小写的用法又能分出不少教派出来。
话说这个东西希望有一个「每项目」的设置文件来支持一下,在参与不同的项目的时候可能会用到不同的风格。
更新:这些设置现在可以写在EditorConfig里了
F# 4.1:
看出来还是在F#上下了不少心思的。
Python、R、TS、JS支持:
「听说你们喜欢这些语言?你仍然可以使用VS啊」
XAML编辑器大增强:
手写XAML党大!欢!喜!
我跟你们说,手写几百行的XAML的时候,唯一的重构工具是查找并替换,我的感受是累感不爱的
UWP ToolChain更新:
呃,这些在VS2015Update3里都发布过了吧
NuGet 4.0:
新项目兼容性down,不过为了消灭掉某些历史遗留问题,去掉少量兼容性我觉得是值的。
总之:如果这些功能在一年前就发布了,我会在这一年干的事情中减少非常多了麻烦事。等RTM发布第一时间更新好了。
补充:VS的插件Gallery页面也一起更新了
旧:
新: