怎么把unity的unity vs2017forunity unity编辑器改成vs

VS2017做为Unity3D的脚本编辑器需要的最精简组件
作者:qingqing.zhao
字体:[ ] 类型:转载 时间:
这篇文章主要为大家详细介绍了VS2017做为Unity3D的脚本编辑器需要的最精简组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
使用VS2017做为Unity的脚本编辑器,需要的最精简组件。
我的测试环境
windows 10 x64
windows 7 x64 sp1
最精简的组件
只需要三个必需组件,这些组件都是可选安装位置
C#和Visual Basic Roslyn编译器
静态分析工具
Visual Studio Tools For Unity(我是从vs的插件库中下载的)
1、从官网下载对应的版本,文件格式如下:vs_enterprise__..exe
2、双击下载文件,接受协议,选择需要的组件,进行安装
官方文档:
示例脚本:
以下脚本,离线下载Roslyn编译器,Nuget,UnityVS,静态分析工具到d:\vs2017offline
代码如下:vs_enterprise.exe --layout D:\vs2017offline --add ponent.NuGet piler ponent.Roslyn.LanguageServices ponent.Static.Analysis.Tools ponent.Unity --lang zh-CN
我在windows7上,并未安装成功,所以不多评论,可能是由于我刚修复完VS2015 电脑未重启。
安装后占磁盘大小
在windows10中,我安装Unity必需的几个组件+几个常用小组件,大约占用磁盘1.4G
在windows7中,我是同时安装了Unity必须的2个组件+.NET桌面开发组件(WPF,WinForm,控制台),大约占用磁盘3.7G
VS2017预览
如果打开项目所需要的组件,当前VS并没有安装,VS会自动弹出让你安装的界面,如下所示:
如果你希望自己手动添加新的功能,并找不到visual studio installer,那么可打开下载的vs安装器进行更改,如我的:vs_enterprise__..exe,运行选择更改,添加你需要的组件。
官方文档:
对比起VS的其它版本,谈谈我个人的使用感受
安装速度确实更快,只不过离线版镜像文件在官网目前并未提供。
内存占用更少,从任务管理器中可以看出
更多精彩内容大家可以点击
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Unity(5)
问题描述: 我有一个解决方案A_Project,还有另一个解决方案B_Project需要用到A的最新DLL,如果每次修改A_Project,然后复制最新的DLL到B_Project 很麻烦。
解决方法:使用生成事件。copy[源文件全路径] 拷贝到的路径
(TargetPath):生成的主输出文件的绝对路径名(ProjectDir) : 项目的目录(定义为驱动器 + 路径);包括尾部的反斜杠“\”。
(TragetDir):生成的主输出的目录(定义为驱动器+路径)。(TargetFileName): 生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。
具体可以看MSDN定义,或者直接看“宏”的值
现在做一个例子:
Unity新建一个A_Project项目,用VS创建一个B_Project类库-项目(也可以是另一个Unity项目)。为了使路径简单,方便解释 ,把B_Project创建在A_Project同级目录下。
提示: B_Project是为Unity生成类库肯定用到Unity类库,所有要添加UnityEngine等相关引用。笔者当前的Unity5.33只支持.net3.5以下,所有B_Project要修改为3.5以或以下。
对于B_Project就只在Start()方法打印数据,最后点击生成解决方案,在Debug下生成DLL,接下来我们引用改DLL。
打开Unity项目A_Project项目,打开Asset-&Open C# Project打开VS。 选中 解决方案-&添加-&现有项目。选中B_Project下的B_Project.csproj文件,这样A下我们可以编辑B的类库了
如果A中有代码,我们会看到这样的。第一个A_ProjectCsharp是Unity自动生成的管理Unity项目下的所有代码。
我们对B_Project添加生成事件命令,操作如下:
选中B_Project,属性-&生成事件-&编辑后期生成事件。可以观察下宏的定义。然后写参数,选中宏,然后点插入即可
对于A、B项目的事件代码的写法就不说明了,根据A、B的目录结构,对了,最好在A_ProjectUnity项目下新建一个Plugin文件夹,专门放DLL等文件。
1 . copy[源DLL等文件路径] [拷贝到需要DLL的路径位置] 目的是为了A使用B提供的DLL
2 . 同时需要把B_Project下生成的B_Project.dll.pdb转换为B_Project.dll.pdb.然后放到A_Project的Plugins下,这是为了能在编辑B项目类库的时候发生错误时,显示DLL报错行数。
3 . 第二步需要找到Unity下的pdb2mdb.exe和dll放到A_Project下,与Assets同级。。新建一个文件夹命名为pdb2mdb
所有路径写法如下:
这里美元“$”打不出来,看截图吧。。
copy (TargetPath)(SolutionDir)Assets\Plugins$(TargetFileName)
把B生成的DLL拷贝到A中
(SolutionDir)pdb2mdb\pdb2mdb.exe(TargetPath)
利用unity自带的pdb2mdb.exe 将B生成的dll 自动生成 dll.mdb
copy (TargetDir)(TargetFileName).mdb $(SolutionDir)Assets\Plugins\$(TargetFileName).mdb
将第二步骤在B下生成的dll.pdm复制到A Plugin下dll.mdb
这样 就能使用DLL并显示行数了
说明:这种管理方式一般是公司为了防止代码泄露,并且管理方便所用的方式。整个项目你只会看到DLL,代码编译后就生成DLL。
前方高能:来一发广告-广告
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:20756次
排名:千里之外
评论:11条
(1)(3)(1)(2)(2)(1)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'关于如何对unity3d编辑器进行扩展的教程
我的图书馆
关于如何对unity3d编辑器进行扩展的教程
的方便之处在于,它很容易地扩展编辑器套件。每款游戏都对加工有着不同的需求,可以快速地以完全集成的方法来构建这些内容并极大地提升开发速度。
目前有大量复杂的软件包提供以基本Unity功能套件为基础的复杂工具,从视觉脚本编辑器到编辑器内导航网格生成。但是,有关如何自行构建此类事物的程序说明却很少。我将在下文列举某些在自己的工作中总结的编辑器定制相关信息。
Unity-Window(from gamasutra)
如何构建编辑器脚本
因为你不想在游戏中包含所有的编辑器定制,而且你也不想游戏对某些Unity编辑器内的东西有所依赖,所以Unity将运行时间和编辑器代码放置在单独的编译中。
在编辑命令中,运行时间代码在编辑器代码之前执行,这样编辑器类型就可以可靠地联系至运行时间组件(游戏邦注:否则就会变得难以编辑),但是你的运行时间组件并不涉及任何编辑器代码。
你必须维持严格的层次。Unity&&3.4版本中这个方面做得更加具体,现在其产生的项目文件与其提供的4个编辑阶段相对应,这样就不会混淆文件的构建时间。
在某个点上的程序说明有些不太清楚。当我首次开始使用时,我认为需要在我的项目上创建单个“Editor”文件夹,然后把所有的编辑器类型放入其中。事实上,系统的灵活性要更高些,你可以在项目中创建任意数量的“Editor”文件夹,将其埋藏在“资产”文件夹的任何地方,所有这些都可以存放编辑器代码。
所以,现在通常情况下我会以功能(游戏邦注:比如命名为“AI”)为单位来创建文件夹,然后纳入所有功能相关组件,然后在旁边放上Editor文件夹(游戏邦注:比如命名为“AI/Editor”),装上所有运行这些组件的编辑器扩展。
只要Unity的内在类型能够发挥作用,运行时间类型都会存在于UnityEngine命名空间中,而所有的编辑器类型都会存在于UnityEditor命名空间里。
unity-projectlist(from gamasutra)
UnityEditor.Editor类
到目前为止,我设立的最普遍的定制是一个自定义检查器。Unity的Inspector面板提供看到组件状态的窗口,但是这种基本设置只能理解有限的类型,而且只能展示公共区域。
自定义检查器让你可以完全控制用户查看和编辑你的组件的方式。比如,它们可以让你呈现只读资产、强迫性价值限制或只改变选项呈现的方式。
Unity中的Inspector都是Editor类的子类别,所以你应该从这里开始。但是,我对编辑器类处理样式的方法不是很喜欢。里面有个“Target”用来提及检查器正在编辑的物体,但是只是基本的“Object”样式,所以你要不断将其转变成更有用的样式。为避开这个问题,我使用了一个非常简单的类别,具体如下:
public class InspectorBase : Editor where T :&&UnityEngine.Object
protected T Target { get { return (T) }&&}
现在,如果我想要为MyCustomComponent创造检查器,我就可以从InspectorBase得到检查器,然后使用“Target”,这样我就不用时常更改了。
应当注意的是,你还需要将CustomEditor属性附到检查器类中,Unity才能够真正使用它们。
一旦你创造自定义检查器后,你通常想要执行的方法就是OnInspectorGUI()。OnInspectorGUI()可用来指定在检查器中展示的所有东西,使用的是Unity的GUI系统。
因为这是编辑器代码,我们可以使用UnityEditor命名空间中的类型,这包括EditorGUILayout。EditorGUILayout使得了大量的简单控制,可以在编辑器中使用,比Unity普通运行时间GUI系统提供的更好。比如,假如我想向用户展示进入3D位置的领域,我可以使用EditorGUILayout.Vector3Field():Target.somePosition&&= EditorGUILayout.Vector3Field(“Some position”, Target.somePosition)。
在检查器中产生的效果如下图所示:
unity-vec3field(from gamasutra)
正因为GUI系统能够发挥作用,所以如果我改变UI中的值,Vector3Field就会传回新的值,Target.somePosition就会得到更新。在将其指派给目标之前,你可以自由改变值(游戏邦注:比如将值定义在某个范围内),你也可以完全忽略传回的值。
值并不一定来自于域,你可以曝光检查器中的资产,可以采用调用一个功能来获得当前值并使用另一个功能来保存。
当然,Unity会默认处理这个事情。如果你只是想要在Unity已经展示的为基础来构建,你就不必要重新执行所有那些域。Editor有个DrawDefaultInspector()方法,告诉Unity调用所有通常调用的控制,但是在这个过程完成之后,你仍然有机会添加额外域和按键。
说到按键,EditorGUILayout的用途确实很广泛,但是你或许已经注意到存在漏洞。比如,如果我想要在导航网格组件上添加“重新计算”按键,这又会怎么样呢?技巧在于EditorGUILayout仍然构建于常规运行时间GUILayout之上,所以你还是可以使用GUILayout中的所有东西。
你对检查器中的域做出改变并且为目标物体的域指派新值时,Unity会察觉到你正在改变物体,所以下次保存屏幕或项目时就会将其写入磁盘。这种察觉是有限的,它只能识别公共资产的直接指派。如果你通过资产或调用方法来修改目标物体,你可能就需要自行调用EditorUtility.SetDirty了。
扩展组件背景菜单
在测试时,有时手动引发某些行为还是很有用的。你可以通过在自定义检查器上安放按键来触发行为:if(GUILayout.Button(“Explode&&now!”)) Target.ExplodeNow()。
但是还有个更加简单的方法,这个方法完全不需要自定义检查器。你可以使用的是UnityEngine.ContextMenu属性:
/* In the target class… */
[ContextMenu('Explode now!')]
public void&&ExplodeNow() { … }
右键点击组件的检查器(游戏邦注:无论是否自定义化),你会看到背景菜单,其中有额外的功能。可以快速地进行测试。
扩展主菜单
到这里为止,我所说的所有东西都是围绕某个特别组件为中心的定制。其他种类的扩展又会如何呢?
在我的游戏中,动画系统将其资产存放在文件夹架构中,这样每个文件夹都对应enum的一个入口。当我改变enum时,如果可以同步文件夹结构会起到很大作用,添加任何丢失的文件夹并删除
任何多余的文件夹。所以我采用了以下较为简单的方法:
public class AnimationSystem{
public static void SyncFolderS***cture() { …&&}
但是我要何时以及如何调用呢?我采用的做法是将其连同到Assets菜单中的菜单项目中,使用MenuItem属性:
[MenuItem('Assets/Sync folder s***cture')]
public static void&&SyncFolderS***cture() { … }
点击菜单项目就可以调用功能。应当注意的是,功能需要是静态的,但是其中的类可以是多种类型的。
Editor&&GUI元素并不一定要在Inspector中。它还可以创造主观编辑器窗口,可以像任何Unity内置窗口那样一动,而且可以像在检查器中那样使用GUI命令。最简单的方法就是使用ScriptableWizard,这很像一个对话盒。你在呈现后设定某些值,然后点击按键让其施展“魔法”。
unity-ragdollwizard(from gamasutra)
在默认情况下,ScriptableWizard的作用很像检查器:类中的任何公共域都会自动呈现在wizard窗口中。你的wizard会像一大串公共域那样简单,而且还有个OnWizardCreate()方法,当用户点击“Create”按键时Unity就会调用这个方法。而且,你可以改变按键上的文字,“Apply”或“OK”之类的会显得更加直观。
wizard的另一个层面是决定用户如何开启,常用方法是使用有静态功能的菜单选项,如上图所示:
[MenuItem('GameObject/Create Other/Explosion')]
public static void&&CreateExplosion()
ScriptableWizard.DisplayWizard(“Create&&explosion”);
TA的最新馆藏
喜欢该文的人也喜欢如何评价 Unity 2017? - 知乎883被浏览87326分享邀请回答/watch?v=QNR9Nvjsv9Y新增的那个光照聚合的界面其实很不错,我一直想做一个针对material的。unity很大问题是workflow非常程序员化,搞的程序员都跟td一样,什么都要集成。但是如果想in-engine调出好效果,方便美术使用的界面必须要有。unity在workflow和usability上还有海量的提升空间,比如:至今都还没有统一管理hotkey的方式,也不解决mac和win上hotkey映射不同问题。inspector是个singleton跟project窗口配合起来要频繁切换太烦人。prefab嵌套要依赖第三方插件,原生连补充嵌套功能都要重新实现编辑器界面。场景合并非常困难。动画编辑器的交互一坨翔没有有效地插件管理,导入插件之后变成零散文件,删除起来非常困难。等等等等。这些虽然是非常细节的功能,但是日常使用的时候充满了摩擦力,让你无法忘记工具的存在。如果延续natarchuk的思路,unity应该革新现在asset store的运作方式。如果有海量的数据和内容作为基础,这本身就是一种很有效的pcg。很久以前做cocos的时候,一个第三方particle editor,内置了很多其他用户上传的particle模版,虽然内容参差不齐,但是都可以直接使用,作为修改的基础。而且通过观察别人编辑的内容,我可以很快的学习编辑技巧和设计思路,进一步提升产出。unity应该仿照类似,把particle,material,shader,动画,mocap数据等资源垂直嵌入到游戏编辑界面内,方便提取内容模版进行编辑,而不是现在asset store这种尝试成本很高的方式。当然两者也可以是平行的。8710 条评论分享收藏感谢收起/document/d/1e2jkr_-v5iaZRuHdnMrSv978LuJKYZhsIYnrDkNAuvQ/edit在“一个渲染管线吃遍天”的设计下,Unity 为了兼顾老版本和低端机,渲染管线只能采用落后的 DX9 形式 forward shading 或者 light volume deferred lighting,甚至 HDR pipeline 都不是标配。在可订制化渲染管线出现后,新版本就可以不再顾及低端版本,在高级渲染上会有更大的发展,同时低端渲染也可以继续保留。5.6 中已经正在开发的,基于 ScriptableRenderLoop 的 New built-in “HD Render Loop” 应该会对商业引擎市场产生很大冲击:1. HD render loop 如果都实现了文档里说的东西,画质不会输给 UE4。一般团队可以直接当作 out of box 的解决方案做端游或者工业渲染。2. 原本低端的渲染管线仍然保存,做低端平台的团队可以当作什么事情都没发生。3. 有开发能力的团队可以定制自己所需的管线,无论是高端还是低端的。HD Render Loop 中有不少 feature 已经是 state of the art 解决方案了。====================================再补充一下 似乎 UE4 也正在开发类似于 frostbite 的 Frame Graph。以后可定制化的渲染管线应该就是通用引擎的发展趋势。579 条评论分享收藏感谢收起查看更多回答2 个回答被折叠()终于等到你,最强 IDE Visual Studio 2017 正式版发布 - 编程语言 - ITeye资讯
相关知识库:
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试、实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航、IntelliSense、重构、代码修复和调试等等。无论使用哪种语言或平台,都能节省开发者在日常任务上花费的时间和精力。
此外,该版本还带来了一个新的轻量化和模块化的安装体验,可根据需要量身定制安装。多个增强功能汇集在一起,使 Visual Studio 2017 的启动速度比 Visual Studio 2015 快3倍,解决方案加载时间缩短 2-4倍。
具体内容如下:
发布日期: 日
亮点
1、导航增强
Visual Studio 2017 极大地改善了代码导航,并对结果进行着色,提供自定义分组、排序、过滤和搜索。强大的 Go to All(ctrl + T 或 ctrl +,),能对解决方案中的任何文件、类型、成员或符号声明的快速、完整搜索。
2、无须解决方案加载文件
Visual Studio 2017 可以直接打开并处理 C#、 C ++ 、 Ruby 、 Go 等一系列语言的任何文件。
3、智能过滤
IntelliSense 现在提供过滤器,帮助得到你所需要的,而不必涉足过多的步骤。
4、语言改进
添加了新的 C# 语言重构命令,帮助将代码以最新标准现代化。新的风格分析器和对 EditorConfig 的支持能够协调整个团队的编码标准。
5、CMake support for C++
可以通过在 Visual Studio 中直接加载 CMake 项目来开始编码。
6、Linux support for C++
Visual C ++ for Linux 开发现在是 Visual Studio 2017 的一部分。
7、Live unit testing
顾名思义,实时告诉你单元测试将通过或失败,而不用离开代码编辑器。
8、Run to Click
当在调试器中停止在某个中断状态时,将鼠标悬停在一行代码上,你会看到 Run to Click glyph。单击可在该行停止并下次继续以此执行。
9、Exception Helpers
可立即查看异常的根本原因,即时访问内部异常。此外,可以在抛出异常停止时通过单击复选框添加条件来排除从指定模块抛出的异常类型。
10、小而轻的安装
Visual Studio 2017 新的安装程序更容易启动和运行。最小安装只有以前版本的十分之一大小,只需一两分钟即可完成安装
不想看以下详细概要和说明的,可。
概要
Develop:快速导航, 编写和修复代码
全新的安装体验 - 减少最小占用空间,实现更快、更自定义的安装体验,并支持离线安装。
Visual Studio IDE -& 在 Visual Studio 2017 中功能得到大幅提升,包括减少启动和解决方案加载时间、改善的登录和身份验证、改进的代码导航等等。
Visual C++ - 在 2015 到 2017 版本中没有特别重大的改变。但依然带来了更好的 C++14 conformance level、CMake 支持和构建吞吐量,能够提高生产力。
[*]C# 和 Visual Basic - 扩展了对新的 C#7.0 和 Visual Basic 15 语言功能的支持,并引入新的重构,允许你在一个 action 中组织源码。
F# -& 支持 F#4.1 语言特性,对 F#编译器和 FSharp.Core 有所改进,以及基于 Roslyn Workspaces 的新编辑器。
JavaScript 和 TypeScript - TypeScript 2.1 适用于 Visual Studio 中的所有 TypeScript 项目。新的 JavaScript 语言服务默认可用并启用。
Debug: 轻松调试、配置和诊断
调试和诊断 - 对代码异常辅助程序进行大修,带来了更快的代码导航。 此外,在“诊断工具”窗口中还有对应用事件的新摘要以及对 CPU 工具的几项改进。
Test: 用全面的测试工具编写高质量代码
Live Unit Testing - 在编辑器中可视化单元测试的结果和代码覆盖过程。
Testing Tools - 使用测试浏览器将自动化与测试用例工作项进行关联。
Collaborate(协作): 使用版本控制,敏捷、高效协作
Team Explorer 中全新的 Git 功能和升级的 connect 体验 - 在 Visual Studio 2017 中可以使用 Git 实现更多功能,并轻松找到你要 connect 的项目和 repos。
Visual Studio 工作反馈流程改进 - 更协同的 Report-A-Problem。搜索、关注和投票,获得所有最新、最近的反馈。
Extend: 通过构建扩展自定义喜好
Visual Studio Extensions - 通过构建自己的扩展来自定义 Visual Studio。
Discoverability of Project and Item Templates - Visual Studio 在使用项目和项目模板来改进性能的方面有重大改进。
Equip: 利用工具提高生产力并探索新功能
.NET Core and ASP.NET Core - 包含新的基于 MSBuild 的 .NET Core& 1.0 最终版。使用Visual Studio 2017,你可以创建使用新的 csproj 格式的 .NET 标准库、.NET Core 应用/库和 ASP.NET Web 项目。
Tools for Universal Windows App Development - 包含新版本的 .NET Native toolchain, 、.NET Core NuGet 框架、新的生产力工具,以及对 Windows 10“Creators Update”SDK 的支持。
Xamarin - Xamarin 4.3 添加了对 tvOS 的支持,同时还改进了 iOS Assets Catalog 的支持和 XML 的编辑体验。
Visual Studio Tools for Apache Cordova - 一个全新的 browser-based 模拟器使你能够快速编码并立即查看结果。
Node.js Tools for Visual Studio - 更新侧重于提高稳定性、性能和整体产品质量。
Visual Studio Tools for Unity - 现在可以从新的 Visual Studio 安装包中的“Game Development with Unity” workload。
Redgate Developer Tools Core Edition - 为了将 DevOps 功能扩展到 SQL 数据库开发,Visual Studio 现在包含了 Redgate 开发工具核心版,包括 Redgate ReadyRoll、SQL Search 和 SQL Prompt。
NuGet - NuGet 现在支持将包依赖信息直接存储在项目文件中作为包引用。
Tools for XAML Apps - XAML 运行时工具栏现在允许跟踪焦点。 XAML 编辑器的改进和性能优化大大提高了 XAML 的生产力。
Data Tools and SQL Server - 最新的 SQL Server Data Tools 支持 Azure SQL 数据库和 SQL Server 2016 中的最新功能。
Developer Analytics Tools - Visual Studio 2017 包含的 Developer Analytics Tools v8.6,对 Visual Studio 中的 Application Insights 和 HockeyApp 功能进行了许多改进。
Office Developer Tools for Visual Studio - 包含带有最新版本和功能的 Office 开发工具。
Live Architecture Dependency Validation - 依赖性验证图实时通知。
Developer Command Prompt -& 脚本重构以支持新的安装体验。
Azure SDK for .NET - 现在可从新的 Visual Studio 安装包中使用。
Visual Studio 2017 中新增功能
IDE 的改进
Visual Studio 已经经过优化,减少了启动时间和解决方案加载时间。首次启动 Visual Studio 至少快 50%。
Visual Studio 现在将监控解决方案加载或编辑的扩展性能。可通过 IDE 中的通知栏收到有关性能不佳的扩展的警报。新的性能中心(帮助&管理 Visual Studio 性能)不仅可以查看影响性能的扩展,还可以发现影响启动性能和更改其启动负载行为的工具窗口。
可以在新的 Visual Studio 安装程序中选择安装 Visual Studio 的 GitHub 扩展
重新加载所有项目已被替换为重载解决方案,以在切换到 VS 外部分支时支持更好的性能。当使用 Git 命令行切换分支时,在分支切换后选择重载解决方案以实现最大性能提高。
.NET Core 和 ASP.NET Core 项目的文件全局功能已增强。参阅 project file globbing 以了解更多细节。
克隆后,现在将自动转到存储库的文件夹视图。可以使用解决方案资源管理器中的新解决方案选择列表查看文件。
起始页
重新设计的起始页具有新的 “打开和创建” 功能:
从 VSTS 获取远程仓库或使用 MRU 轻松打开本地项目和解决方案。
起始页 MRU 显示在其他计算机上克隆的仓库,以便可以轻松地在当前计算机上克隆它们。
直接从起始页面创建一个可搜索模板的新项目和最近使用的模板列表。最近使用的模板还将使用个性化帐户在 Visual Studio 实例之间漫游。
通过起始页面上的 “从 VSTS 导出” 选项,从体验来自 VSTS 的快速启动新的克隆,可解除的 “开始使用” 部分。
精细的视觉设计,以处理较小屏幕上空白空间的利用。
新的起始页如下所示:
改进代码导航,在 Visual Studio 2017 中对代码导航功能进行了重大改进:
跳转到全部 (Ctrl +, or Ctrl + T) 可让你快速找到并转到代码中的文件,类型,方法和其他元素。即使在大型代码库中,也可以找到任何种类项目。在 C# 和 Visual Basic 中,还添加了 “模糊” 匹配,如果你拼写错一个类型名称,仍然可以搜索得到结果。还实现了 Go To Line(Ctrl + G)。该功能让你在编辑菜单的顶部找到 Go To 系列命令。
查找所有引用 (Shift+F12) 也已经过重大改进 (目前仅支持 C#, Visual Basic, 和 C++),提供高级分组,过滤,排序,在引用结果中搜索以及高亮结果(适用于 C# 和 VB),所以你可以清晰理解你的引用,并获取所需的代码行。在鼠标悬停在引用的项目上时,会有一个悬浮提示,其中包含源代码中的引用上下文(适用于 C# 和 VB)。通过切换工具栏中的保持结果按钮,下一次调用查找所有引用将在新窗口中填充引用结果。这允许你在当前窗口中保留当前结果。
结构引导线现在在编辑器中已重新绘制,以便可以轻松地查看正在使用的代码的结构。当鼠标悬停时,将显示包含当前代码块相对于其祖先块的上下文的悬浮提示。该功能当前支持 C#, Visual Basic 和 XAML 文件,以及通过 TextMate 语法支持的任何文件。(在 “工具”&“选项” 对话框中,通过取消选中 “文本编辑器” &“ 常规” 类别下的 “显示结构引导线” 复选框禁用此功能)
Visual C++
C++ 代码分析
用于执行 C++ 核心指南的 C++ 核心检查器现在与 Visual Studio 一起发布。只需在项目属性页中的代码分析扩展对话框中启用检查器功能,运行代码分析时就会自动引入该扩展。
C++ 编译器
更新了 C++ 编译器和标准库,增强了对 C++11 和 C++14 功能的支持,以及对 C++17 标准中某些功能的初步支持。要注意的是,编译器仍然缺少 C++11 和 C++98 标准中的一些功能。Visual Studio 2017 允许将 /sdl 和 /await 一起使用。
此版本在优化和代码生成方面带来了几个改进。一些显着的改进包括:
改进的循环代码生成:支持自动向量化的常数整数除法,更好地识别 memset 模式
改进代码安全性:改进缓冲区溢出,而且 /guard:cf 现在可保护生成跳转表的 switch 语句
当使用协同例程时,Experimental 关键字 “yield” 已删除。你的代码应该更新为使用 “co_yield”。
C++ 库
[STL] basic_string 的性能改进
[STL] 增加了 &any&, &string_view&, apply(), make_from_tuple()
[STL] std::vector 在正确性和性能方面已经进行了重大改进
[STL] The STL 现在避免取消引用空花括号指针
[STL] 添加了 &optional&, &variant&, shared_ptr::weak_type, 和 &cstdalign&.
[STL] 有关 STL 改进的完整列表,请参见:Visual C ++团队博客
完整发布日志点此查看
下载地址:
(适用于学生、开源和个人开发人员的功能完备的免费 IDE)
(适用于小型团队的专业开发人员工具、服务和订阅权益)
(满足所有规模大小的团队的要求质量和规模的端到端解决方案)
看起来不错,虽然我做java是啊,能支持java就好了
看起来不错,虽然我做java
相关资源推荐}

我要回帖

更多关于 unity vs2017 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信