超实用!10个小技巧,助你加速Visual Studio 2019编程工作流
Visual Studio 2019 是一个集全球顶尖调试功能、新颖编程工具和多种自定义选项的编程平台,允许编程人员按照自己的设想建立编程环境。平台还包括强大的Unity C#功能,可快速完成代码的编写和重构。在本文中,我们将介绍10个使用技巧,利用平台的功能加快编程工作。
使用调试器后播放内容
Console.Log可借助Unity的控制台来轻松、快速地调试项目。而在项目变得愈加复杂时,Visual Studio可提供一种更高效的调试方法。点击菜单中的Attach to Unity按钮,就连接起两个应用,在播放模式中插入断点或检查代码执行步骤;点击Attach to Unity and Play就能在IDE中执行脚本,在运行时直接检视代码执行流和属性的值等等。在游戏中随时暂停运行,一步步地检查游戏地状态和帧上的属性值,是一种十分强力的调试工具。
另一个好用的断点调试功能是插入自定义条件,加入条件表达式等相关操作。条件在加入调试工作流前需要被判断为真。
参考性能分析报告和最佳实践建议
Visual Studio 2019推出了Unity Analyzers分析器功能。分析器可以检测代码模式,替换上推荐的写法。它包含了一系列Unity的代码诊断和修复方法,所有内容都已在GitHub上开源发布。Analyzers可以帮助你更好地理解Unity的诊断方案,也能去除不适用于项目的C#诊断方案,帮助改善项目。比如,用一个条件语句检查GameObject是否有特定标签,以确定是否应用特定的行为。
if(collision.gameObject.tag == "enemy")
{
// Logic being applied to enemy GO(应用在敌人GO上的逻辑)
}
分析器在分析代码后,会推荐一个更优的写法。这里,分析器将推荐效率更高的CompareTag。
if(collision.gameObject.CompareTag("enemy"))
{
// Logic being applied to enemy GO(应用在敌人GO上的逻辑)
}
上方例子中,分析器只分析优化了单个GameObject的单个脚本里的小问题。而在有成千上万个带有脚本的GameObject的项目中,优化的效果会更加明显。在分析此类项目时,分析器可以删去多余的代码资源,帮助你轻松找出、改善脚本性能。
使用Task List建立问题跟进清单
在编写脚本时一个常见的挑战是在随后重新回到某段代码。比如一段需要重构的代码段,在测试游戏机制时可能可以满足要求,但最终还是需要优化性能。Visual Studio有一个追踪代码段的功能,称作Task List,允许你跟踪带有TODO、HACK甚至是自定义凭据的代码评论。
// TODO: Change the collision detection once new colliders are ready
Task List窗口可在View菜单中打开,可提供所有已标记任务的概览,包含了代码段的链接,一键即可访问。
在“// TODO:”后添加注释可让你在随后使用Task List(右手边)窗口轻松找到希望跟进的“标注”操作项
如果项目中的操作项过多,你可以设定自定义凭据,为其指定一个优先级,来高效组织代码重构流程。要想自定义Task List凭据,请选择Tools > Options。
使用代码片段加快工作流
代码模板是一种可重复使用的小代码块,可通过右键菜单(文本菜单)命令和热键组合来插入到代码中。片段通常储存有经常使用的代码块,如“try-finally”、“if-else”,也能用于插入整个的类或方法。总之,代码模板可以用样板来创建代码,为你节省许多时间。
要想用代码建立一个命名空间或代码区,可以按下CTRL + K + S,就能像下方视频一样应用模板了:
你可在微软的说明文档中找到创建代码模板的步骤教学(Visual Studio,Visual Studio for Mac)。
简单几键,重新命名所有变量
applying.在重构代码时,常见的操作有为变量重新命名,让名字更具描述性、更加精确。而修改了一处代码也意味着其它引用了代码的位置也需要修改。Visual Studio提供有一种轻松的代码更名功能,只需选中想要更名的变量(高光显示),右键(或使用快捷键CTRL + R)重新命名变量即可。此外,Preview Changes(预览改动)功能可以在应用更改前查看改动的效果。
同样的方法可用在更改脚本类的名称上,但注意C#文件同样需要做出相应更改,以防止出现编译错误。
使用快捷键注释出代码
在重构、调试代码时,注释出或取消注释一段代码块是另一种常见的工作流,但要是逐行注释会耗费不少时间。Visual Studio允许用户使用简单的快捷键命令来注释出整块的代码:Ctrl+K+C和Ctrl+K+U分别是注释与取消注释(Mac电脑的快捷键是CMD+K+C和CMD+K+U)。
成块地注释出代码可以在测试时高效地禁用特定的游戏逻辑。
利用GitHub简单几键完成项目整合
Unity Collaborate是一个方便储存、分享和同步项目的Unity服务,团队可通过用户友好的视觉界面来直接整合项目。但更受各团队和开发者欢迎的还是GitHub这类源码控制方案。现在,GitHub for Unity插件已经面世,可让源码控制更加轻松。该拓展完全开源,允许用户以分支的方式查看项目历史、实验性修改,为自己的更改添加注释,并直接在Unity中将代码上传到GitHub。GitHub验证方案,如2FA,已经嵌入到Unity中。只需点击按键就能快速初始化游戏的代码库,无须使用命令符。插件能自动创建Unity专用的.gitignore文件,无需手动建立。Visual Studio 2019还有一个全新的界面,让在IDE中使用 GitHub更加轻松。
要想启用Visual Studio的新界面:选择Tools > Options > Environment > Preview Features > New Git User Experience。
借助Live Share远程实时协作
Live Share允许用户使用链接直接与他人分享Visual Studio的实例,实时编辑代码、完成项目协作,不再需要复制代码库或建立环境。双方只需安装有Visual Studio便能一键创建Live Share分享会话。
Live Share允许实时分享Visual Studio窗口,直接与他人共同编写代码
选中想要分享的代码,然后选择Live Share来生成链接,就能与任何安装有Viusal Studio或Visual Studio Code的程序员分享。你和协作者们之间会建立一个分享会话,仅使用编辑器就能看到你的代码。会话创建可在瞬间完成。
轻松创建Unity Messages代码模板
要记住所有MonoBehaviour的方法不是件简单的事,虽然Unity有说明文件可供参考,但Visual Studio也有一个可直接在IDE中查找方法的功能。按下CTRL + Shift +M就能查找、过滤出想要使用的方法。勾选选框、点击OK后就能在代码中直接插入可用的方法模板。
使用快捷键
上述的许多操作都可以用快捷键完成,熟悉快捷键就能节省大量的时间。下方是部分快捷键的一览。
[1] Visual Studio 文档:
https://docs.unity.cn/cn/current/Manual/VisualStudioIntegration.html
[2] Unity Analyzers GitHub:
https://github.com/microsoft/Microsoft.Unity.Analyzers/blob/main/doc/index.md
[3] CompareTag 文档:
https://docs.unity3d.com/ScriptReference/GameObject.CompareTag.html
[4] 分析器的列表 GitHub:
https://github.com/microsoft/Microsoft.Unity.Analyzers/
[5] 创建代码模板模板 · Visual Studio:
https://docs.microsoft.com/en-us/visualstudio/ide/walkthrough-creating-a-code-snippet?view=vs-2019
[6] 创建代码模板模板 · Visual Studio for Mac:
https://docs.microsoft.com/en-us/visualstudio/mac/snippets?view=vsmac-2019#creating-a-new-template
[7] Unity Collaborate:
https://unity.com/unity/features/collaborate
[8] GitHub for Unity插件:
https://unity.github.com/
每一个“在看”,都是我们前进的动力