【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)

这篇具有很好参考价值的文章主要介绍了【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/130518705

一 弃用vscode原委

小伙伴应该都尝试过vscode的unity调试插件了吧
【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
插件不再维护不说,压根用不了,网上一堆抱怨,各种方法层出不穷,尝试了很多方法,正如这位网友所说的那样
【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)

插件官方也在github做出了回应
【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
简单来说开发者没钱没闲,建议大家用Visual Studio或者Rider

参考链接:
Can you please make an official statement on the state of this extension? #207
Official Update on the Visual Studio Code package
VS Code里使用Debugger for Unity插件调试的方法(2023最新版)

既然官方都这个态度,为啥不尝试去用Rider呢,更何况之前还是深度IDEA用户,也用过pycharm,对JetBrains 的产品还是很信任的。那为啥之前死磕vscode呢?还不是被网上vscode吹,说最好用的ide没有之一,说什么多语言编辑,小巧,快速打开,超丰富插件啥啥,天花乱坠,加上以前就想试试vscode一直没机会,所以就这样钻牛角尖了。

从一开始的F12问题卡我好几天,源码到现在我都不会查看。以及现在脚本调试、断点调试问题,一直无从下手,以至于心生胆怯,一碰到这个问题我就退缩不想碰,然后就忙其他事情了。五一到现在,学习进度一直卡在这。

今天心想不能再这么耽搁下去了,查了一圈然后想到rider,要不试试,果然,很多大佬都开始用rider了。

作为一名入行多年的游戏开发者,尤其是虚幻引擎的重度用户,我在IDE工具的选择上真的很难有VisualStudio以外的其他选项。不过自从 2016年JetBrains Rider问世以后,这种被VS垄断的局面正在逐渐被改变,身边也有越来越多的朋友推荐我去使用它。


功能推荐:

  1. 搜索:对于一个复杂项目,搜索当然是重中之重。首先最方便快捷的就是【"Shift Shift"】进行快速的全局搜索,与VS中的【“Ctrl + T”】类似,可以查找类型、文件、文本字符串等等,支持首字母查找、速度非常快。如果你忘记了某个快捷键,还可以通过Actions标签进行关键字搜索,非常方便实用。
    另一个非常重要的快捷键就是【“Alt + Enter”】,可以呼出一个浮窗处理一系列相关的逻辑,包括自动插入代码、导航定位、变量重命名、定义构造分离、一键注释等各种相关功能。
    【“Alt + G”】或者【“Ctrl + 鼠标左键”】可以迅速的在类的函数和定义之间切换,完全不卡且非常准确。【“Alt + O”】可以方便的在类的头文件和CPP文件快速切换。(这些在VA助手里面也有,但是Rider确实要快多)
    【“Ctrl + Shift + F”】可以全局搜索字符串,秒开一个窗口来显示结果。点击结果还可以快速的在不同的窗口之间进行切换,非常方便预览。
    【"Ctrl + F2"】或者【“Alt + Home”】可以直接显示当前文件所在的目录,并且可以快速的在当前目录前后进行跳转和查阅。
  2. 编码:我们在头文件在声明类之后可以通过【“Alt + Insert”】自动的帮你插入常见的构造函数、getter、Setter等,声明完函数后,还可以转到CPP里面直接使用【“Alt + Insert”】插入所有没有被实现过的的函数代码段。
  3. Git相关:Git相关的插件是直接默认安装的(如果没有可以到Plugin配置下面搜索),【Alt 9】打开Git的窗口我们就可以很方便的进行Push、Fetch Commit 、Blame、 View Diff、View Histoty等操作。习惯后就可以完全在Rider里面进行Git相关的操作了,大大地提高效率。(VS也支持Git相关的操作)
  4. Debug:控制Unity编辑器
    由于集成的双向通信,无需离开Rider,您即可切换进出Play模式,暂停,和逐帧执行! 工具条包含游戏视图按钮Play、Pause和Step,分别对应Unity Editor中的相同按钮,并且与Unity Editor中的按钮控制相同的行为操作。 状态栏上的Unity小图标将显示Unity Editor是否已经连接,正在刷新或在Play模式。 在Rider处于Edit模式下的任何变更都将立刻提交Unity Editor。【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
  5. 数据库:Rider自带了数据库可视化工具,可以在软件中直接操作数据库。而且通常我们使用的SQL Server、MySQL、Apache、Oracle全部都是支持的,用起来非常方便。
  6. 全栈开发:Rider本身对WEB全栈其实是比较友好的,常见的JavaScript、TypeScript、HTML、CSS、JSON、SQL 等全部支持。而在游戏开发中,我们除了C++、C#还可能需要写Lua、Python等脚本代码,所以常常是分别使用VS和VSCode来编写不同语言的代码。有了Rider,再配合一些插件,我们就可以全部都在一个IDE里面进行操作了。此外,Rider还支持SSH,对于兼职客户端服务器两个岗位的同学,平时使用Rider搞前端,然后直接SSH链接到远端写服务器代码也是非常舒服的。
  7. 其他功能:还有一些比较人性化的功能,使用起来也很方便
    – 内置控制台,解决运行批处理来回切窗口的问题。
    – ToDolist预览,写复杂功能的时候就不怕临时忘掉了
    – 数字BookMark,更方便的进行跳转和记录
    – LocalHistory,相当于一个本地自动的版本管理记录,可以右键查看和对比,即使电脑突然死机也可以找到你最近修改过的记录。
    – 颜色选取,对Color定义使用【Alt Enter】可以直接呼出颜色面板进行选色替换(Unity可用)
    ·
    ·
    谈谈Rider在游戏开发中的使用体验

尽管如此,依然有其他人抱怨内存占用的问题,我突然想到这不就是小时候学的“小马过河”的道理吗?我现在是32G内存,根本无需考虑这种吃内存烦恼,再不行再加两条。

刚装完Rider,那种熟悉的感觉扑面而来,最惊喜的是Rider和Unity能够联动调试,这不就是我一直捣鼓想要达成的目的吗

二 Rider调试Unity

目标

  • 四种run/debug configuration区别
  • 断点调试方法
  • 常用调试/编辑快捷键

2.1 启动调试

在本地计算机上调试Unity应用程序

  1. Unity Editor打开项目
  2. Rider打开对应脚本
  3. 添加断点
  4. 选择Attach to Unity Editor & Play配置
  5. 点击debug标签或者使用Shift+F9快捷键

参考:Rider官网手册 Debug Unity Applications

2.2 pausepoint 暂停点

A pausepoint is a new type of debugger breakpoint that does not suspend the execution of your code but instead pauses the Unity Editor at the end of the current frame.暂停点是一种新型的调试器断点,它不会暂停代码的执行,而是在当前帧结束时暂停Unity编辑器。

2.2.1 使用pausepoint

右键断点,点击「Convert to Unity pausepoint」。
【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)

2.2.2 pausepoint与breakpoint的区别

Developing in Unity, you need to live in two worlds – the Unity Editor and your C# editor. If you want to debug your game, you need to set breakpoints in your C# script files. When hit, the entire Unity Editor environment is stopped – the native game engine as well as the managed C# scripts running both your game and the editor itself.

You can then use the debugger to inspect your call stack, look at and change values of fields and variables and even evaluate expressions. But your game is still suspended, as is the Editor – you can’t use the Editor to select or move game objects, or look at and change values in the Inspector.

What if you could get the best of both worlds? Say hello to pausepoints.

Set a pausepoint in code, and when hit, it puts the Unity Editor into pause mode at the end of the current frame. The Editor is still fully responsive. You can’t look at values in Rider’s debugger, but you can now use the Unity Editor to select game objects, view the Inspector, change values and move objects around. When you’re done, just click the pause button in the Editor to continue playing.

参见:Introducing Pausepoints for Unity in Rider 2020.2

我理解的,简单讲就是breakpoint使Rider编辑器暂停(这时Unity编辑器无法操作),pausepoint使Unity编辑器暂停(Unity Editor可以编辑拖动物体等,这在breakpoint中是无法做到的)

2.3 不同run configuration区别

【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
Attach to Unity Editor、 Attach to Unity Editor & Play、 Start Unity、 Unit Tests ( batch mode),简单看了下,Rider分Temporary 和Permanent ,使用Start Unity会重新创建新的Unity Editor实例(如果已存在会弹窗报错),当停止debug时,这个Unity Editor会自动关闭。

所以想要调试项目时,使用Attach to Unity Editor & Play这个配置,自动识别已存在的Unity Editor。
目前接触的较少,官网也没找到确切的讨论这4个区别的内容,不过有Edit 配置相关,附在下面:

Run/debug configurations
List of run/debug configuration templates

三 Rider编辑

3.1 补充

  1. Rider可以反向查询挂载脚本的对象,点击如下按钮可跳转Unity Editor聚焦对应Object(简直太棒了,就我学习阶段我都老是搞不清一些脚本被谁挂载了,但试了下,多个物体怪哉还是只能识别到一个,不清楚啥原因)
    【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)
    好吧是我学艺不精,Unity Editor右键脚本 Find References In Scene也能看到,Hierarchy清除查找语法或者按Esc就能恢复
    【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)

还有列表展示资源引用,查了下似乎只有插件Asset Usage Detector for Unity 3D

Unity Editor allows you to find usages of an asset in scene only. You can implement resource search through some third-party scripts like this.

Rider还有个RiderFlow 先附在这以后研究下:

RiderFlow is a plugin for Unity that brings some of JetBrains’ powerful IDE features directly to the Unity Editor. Here they are at a glance:

  • Search Everywhere.
  • Managing the GameObjects Hierarchy view.
  • Finding usages of GameObjects, camera presets, and bookmarks.
  • Refactoring of GameObjects.
  • Smart built-in editor.


    RiderFlow is a user plugin, not an SDK, and does not contain a public API for any external usage.
    来源riderflow

四 总结

暂时就搜查这些内容了吧,后续再有什么需要再补充,基本目的已经达到。文章来源地址https://www.toymoban.com/news/detail-491460.html

到了这里,关于【学习笔记】Rider调试unity【 联调、断点调试等】(决定弃用vscode了)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • xcode 的app工程与ffmpeg 4.4版本的静态库联调,ffmpeg内下的断点无法暂停。

            先阐述一下我的业务场景,我有一个iOS的app sdk项目,下面简称 A ,以及运行 A 的 app 项目,简称 A demo 。         引用关系为 A demo 引用了 A ,而 A 引用了 ffmpeg 的静态库(.a文件)。此时业务出现了 bug ,测试后得知,bug 来自于ffmpeg。现在无法定位ffmpeg的问题出在哪

    2024年02月14日
    浏览(36)
  • Unity技术手册-Rider提高效率必备设置

    点击跳转=Unity3D特效百例 点击跳转=案例项目实战源码 点击跳转=游戏脚本-辅助自动化 点击跳转=Android控件全解手册 点击跳转=Scratch编程案例 点击跳转=软考全系列 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、工具、素材、源码、游戏等) 有什么需要欢

    2024年02月10日
    浏览(53)
  • 微信小程序开发与后台接口联调,设置http域名,及真机调试

    众所周知,现在微信小程序,接口只接受https,还需要在微信小程序官网的开发设置中设置域名,可是那如果想与本地后台代码联调,怎么办呢? 网上这个跳,那个跳,各种设置,其实很简单!!!! 微信小程序开发工具,详情—本地设置,勾选【不校验合法域名】,即可,

    2024年02月13日
    浏览(69)
  • VSCode调试Python程序需要设置断点、运行调试、单步调试、查看变量值、监视变量、条件断点、调试器设置、调试工具栏等功能,让Python调试轻松愉悦。

    使用VSCode调试Python程序的常用功能及其快捷键如下: 设置断点:在代码中点击行号区域设置断点,或使用快捷键 F9 。 运行调试:按下 F5 运行程序并进入调试模式。 单步调试:使用快捷键 F10 单步执行当前行,使用 F11 单步进入当前行中的函数。 调试停止:使用快捷键 Shif

    2024年02月05日
    浏览(41)
  • js逆向补环境-调试工具vscode与nodejs使用之无环境联调

    一、啊哈 js逆向补环境时,经常会调试js,调试js依赖的环境可以选择如下两个nodejs和vscode;通过这篇文章简单了解下安装以及简单的使用 以下来自我以前写的两篇文章旧文章合集内容基本一致,只是统一更新下汇总到这篇文章了,所以也可以移步查看 nodejs在windows和linux下安

    2024年02月14日
    浏览(36)
  • idea的断点调试

    1、行断点 首先在代码的最左侧点击会显示红色的圆圈 第二步在main方法中右键选中debug run进行运行 会出现下面图片的情况 出现上图之后,点击console 下一步 这个时候就可以看到调试的结果了 6、方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All

    2024年02月10日
    浏览(30)
  • Gradle断点调试

    文章链接:https://blog.csdn.net/feather_wch/article/details/131746456 Run/debug configutation中点击加号,选择Remote JVM Debug,默认port 5005,默认名“plugin-debug” Gradle Task中选择assembleDebug,右击 Modify Run Configuration 选择Modify Options 选择Add VM options, 输入“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n

    2024年02月16日
    浏览(49)
  • Charles Breakpoints断点调试

    简介 :Breakpoints即断点调试,相当于开发的debug调试,可以修改请求参数、响应数据 场景 :已上线接口做了参数修改,端上暂未修改,可以通过Breakpoints测试接口 实例 :如生产视频接口新增参数,接口很多参数是端上剪辑合成数据,无法简单用postman测试接口,只能通过断点

    2023年04月17日
    浏览(34)
  • 调试绝招—断点

    对于一些莫名奇妙的错误 未定义异常错误函数 在汇编里面 UsageFault_Handler                 PROC                    ; get current context                    TST           lr, #0x04                               ; if(!EXC_RETURN[2])          

    2024年02月08日
    浏览(32)
  • Idea断点调试(debug)详解

    打断点: 鼠标左键点击这里就会出现一个红点标志 (有各种形状,后续解释),就打上了一个断点。 启动: 对于已经运行过的程序,直接点击,小虫子就能启动 对于没有运行过的程序,找到程序入口(main方法)前面的三角形 ,鼠标右键启动 启动后,当我们的程序执行到

    2024年02月08日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包