尧图精选

Unity开发环境配置指南:用VS Code打造轻量高效的C#编辑器

🕒 发布时间:2026/10/2 15:06:46 📁 来源:尧图网络
1. 为什么Unity选VS Code而不是Visual Studio如果你刚接触Unity3D八成会被群里的老哥们分成两派一派说必须用Visual Studio跟Unity同属微软阵营开箱即用另一派说VS Code轻量、启动快、免费配好之后写C#是真舒服。我自己的经历是先被Visual Studio的启动速度折磨了一年后来换到VS Code配置完那一刻感觉整个人都轻松了。先说结论Unity 2021及以上版本配合VS Code完全够用而且很多大型Unity项目的开发者早就转到VS Code这边了。核心原因有三个。第一启动速度的差距是降维打击。Visual Studio随便开个工程要十几秒到几十秒VS Code基本是秒开。你可能觉得这个无所谓但实际开发中你会在Unity编辑器和代码编辑器之间来回切换一天切换几十次。每次等待都打断思路累积起来就是大量时间的浪费。第二VS Code的扩展生态比Visual Studio更灵活。Visual Studio是个大而全的IDE它把所有工具都给你装上问题是你很少用得到那么多东西。VS Code走的是小而精路线我只装我需要的扩展打开界面干干净净。用包管理的思路而不是全家桶的思路来对待开发环境长期维护起来很省心。第三渲染管线也比较轻。Visual Studio跑起来风扇转得飞起VS Code在同样的机器上安静得多。对办公本用户来说这一点直接决定体验上限。当然Visual Studio也不是没有优势。比如可视化编辑器里的UI设计器、更强大的重构工具、更深入的项目级调试在某些大型项目中确实比VS Code强。但这些优势主要在中大型团队、复杂架构项目、需要大量调试才能定位问题的场景中体现。独立开发者、学生党、中小项目VS Code绝对是性价比最高的选择。另外提一句Unity在2022版之后默认给Visual Studio的整合其实也在变好但VS Code的社区热度一直很高。Unity官方甚至专门出了VS Code的包后面会讲到说明官方也认可这条路线。我这篇教程默认你的电脑已经装好了Unity3D本体如果你连Unity都还没装我也会先把Unity的安装步骤带一笔重点放在VS Code的安装和配置上。整体流程我踩过不少坑每一步为什么这么操作、容易错在哪我都会讲清楚争取你跟着走一遍就能跑通。2. 准备阶段Unity3D和VS Code的安装细节2.1 Unity Hub与编辑器版本的取舍Unity现在官方推荐的安装方式是通过Unity Hub。它是Unity的版本管理器可以在同一台电脑上装多个版本的Unity编辑器每个项目独立指定用哪个版本打开互不干扰。下载Unity Hub直接去官网选Download Unity Hub。装完后打开Hub在Installs标签页点Install Editor会看到一堆版本。这里我强烈建议新项目选LTS长期支持版本比如Unity 2022.3 LTS或者Unity 6000.0 LTS。别追最新正式版最新版意味着新功能也意味着新bug做项目稳定压倒一切。如果项目有可能打包到微信小游戏或者WebGL注意Unity 2022.3和6000的表现有差异尽量跟你要对接的平台SDK兼容。安装Editor时模块勾选有讲究。Android Build Support、iOS Build Support这些看需求但有两个模块强烈建议勾上Documentation和简体中文语言包。Documentation在开发时能离线查API对刚入门的人帮助极大。语言包其实不是必须但如果你英语一般装上中文界面能减少很多挫败感。装完之后建议设置一下Unity的默认脚本编辑器但先别急着在Unity里操作因为VS Code还没装好。顺序错不乱但装完VS Code再回Unity设置省得来回切窗口。2.2 VS Code下载安装的两个关键点VS Code的下载只有一个坑认准官网别下到第三方打包版。官网地址是code.visualstudio.com进去之后选Windows或者macOS/Linux。Windows用户会遇到一个选择User Installer还是System Installer。这个选择直接影响后面环境变量和扩展安装的体验。User Installer当前Windows用户使用不需要管理员权限推荐绝大多数人选这个。它会把VS Code安装在用户目录下安装扩展不需要UAC弹窗。System Installer所有系统用户都可以用需要管理员权限。除非你的电脑是多人共用、而且都需要在同一个VS Code里调试Unity否则没必要选。安装向导里有一页选择附加任务强烈建议勾上以下两项将通过Code打开操作添加到Windows资源管理器目录上下文菜单将通过Code打开操作添加到Windows资源管理器文件上下文菜单这两个让你在Unity工程文件夹上右键就能直接打开VS Code省掉每次手动导航的工夫。安装完成后先进VS Code安装中文语言包。虽然中文包不是必须但对很多同学来说菜单全英文的VS Code本身就构成了一层障碍。在扩展市场搜Chinese认准MS-CEINTL.vscode-language-pack-zh-hans这是微软官方出的简体中文语言包。安装完右下角会提示重启VS Code重启后界面就变成中文了。2.3 安装C#插件前的环境检查VS Code本身不包含C#编译器要让它能编译、识别C#代码得依赖.NET SDK。这就是很多人卡住的第一关明明装了VS Code和C#扩展但打开Unity项目时智能提示说无法解析引用请确认.NET SDK已安装。所以正确顺序是先去dotnet.microsoft.com下载**.NET SDK**注意是SDK不是Runtime。安装时选默认选项装完后打开命令行跑一下dotnet --version能看到版本号就说明环境变量已经配好。然后再去VS Code装C#扩展。这里有个版本匹配的问题Unity 2022.3的Mono版本对应的是.NET Standard 2.1你装的.NET SDK通常都是6.0、7.0、8.0这类较新版本它们能兼容旧目标框架不会冲突。所以直接装最新稳定版SDK就行不用刻意去匹配老版本。另外一个经常被忽略的细节Windows上安装.NET SDK后系统环境变量Path会自动加上dotnet目录但如果你开着VS Code再装SDKVS Code不会自动识别新环境变量需要重启一次VS Code才能生效。这个我在后面问题排查部分会单独提因为几乎每个人都会踩。3. VS Code侧的点火操作扩展安装与OmniSharp配置3.1 四个必装扩展一个都不能少VS Code装完、中文包搞定之后下一步就是装扩展。Unity开发者需要装的扩展很多但必装且只推荐装以下四个其他花里胡哨的看需求再说扩展名发布者作用C#Microsoft核心语言服务代码补全、语法检查、OmniSharp支持Unity Code SnippetsKleber CorreiaUnity API代码片段快速输入常用代码块Debugger for UnityUnityUnity断点调试支持把VS Code变成Unity调试器UnityMicrosoftUnity专属工具识别Unity项目结构你可能注意到有两个Unity相关的扩展一个是Microsoft出的Unity提供Unity项目识别、脚本生成等基础能力另一个是Debugger for Unity专门负责调试。两者配合使用前者管工程识别后者管断点缺一不可。有一个在社区里也很火的扩展叫Visual Studio IntelliCode它能根据上下文预测你的下一段代码。但实测在Unity项目里它对Unity API的预测能力有限偶尔还会跟C#扩展抢提示权所以我个人建议先不装等基础环境熟练了再尝试。安装方式很简单左侧活动栏最上面是扩展图标四个方块搜名字点Install。装完我建议重启一次VS Code让所有语言服务器正常加载。3.2 OmniSharp是什么为什么它决定你的代码补全C#扩展的核心组件叫OmniSharp它是一个开源的.NET开发平台语言服务。你可以理解成翻译官VS Code本身不懂C#OmniSharp负责把VS Code的编辑指令翻译成.NET编译器能理解的语言再把编译器的信息转换回编辑器能显示的智能提示。所以当你遇到代码全红了但项目编译没报错或者没有智能提示90%的情况都是OmniSharp没起来或配置不对。在VS Code里按下CtrlShiftP打开命令面板输入OmniSharp: Select Project选择你当前打开的Unity项目的.csproj文件。这一步能强制让OmniSharp加载当前项目的依赖。如果OmniSharp加载失败常见原因有两个.NET SDK没装或环境变量没刷新重启VS Code。Unity生成的.csproj文件损坏或过旧。第二种情况很好解决回到Unity在菜单栏执行Edit Preferences External Tools点一下Regenerate project files按钮。Unity会重新生成所有.csproj和.sln文件OmniSharp再加载就正常了。3.3 设置settings.json三处必改配置VS Code的配置文件是settings.json打开方式右下角齿轮图标 - Settings - 右上角打开设置JSON图标。下面是我在Unity项目中固定使用的配置每一条都有明确的理由。{ editor.fontSize: 16, editor.tabSize: 4, editor.renderWhitespace: all, files.exclude: { **/.git: true, **/.vs: true, **/[Ll]ibrary: true, **/[Tt]emp: true, **/[Oo]bj: true, **/[Bb]uild: true, **/[Bb]uilds: true, **/[Ll]ogs: true, **/[Uu]serSettings: true }, dotnet.defaultSolution: }第一条editor.fontSize: 16纯粹是我个人偏好长时间看代码字号适中能缓解眼疲劳。TabSize设成4是因为Unity C#代码规范按C#官方标准应该用4空格缩进Unity默认生成器也是这么做的。这能让生成代码和手写代码缩进一致避免混用空格tab导致的格式混乱。files.exclude这段非常重要。Unity项目的Library目录、Temp目录、Obj目录包含大量自动生成的文件几百上千个。如果不排除掉VS Code的资源管理器里会显示一堆毫无意义的缓存文件搜索功能也会被这些文件干扰显得项目杂乱无章。写上这段之后编辑器瞬间干净。最后dotnet.defaultSolution: 这个选项是现代版C#扩展用的。如果不显式指定VS Code偶尔会弹窗问请选择一个用于分析的解决方案特别是在有多个.sln文件的项目里。设置成空字符串后C#扩展会直接使用打开的文件夹省去弹窗干扰。4. Unity侧的点火操作外部脚本编辑器设置4.1 把Unity默认脚本编辑器从Visual Studio改为VS CodeVS Code配置完毕接下来要让Unity知道你写代码时该打开谁。打开Unity进入Edit Preferences External Tools有一个External Script Editor下拉框默认是Visual Studio。点击下拉框旁边的Browse...按钮导航到VS Code的安装目录选中Code.exe。装好了VS Code但下拉框可能不会自动识别出来必须手动Browse。选完之后下拉框会显示Visual Studio Code。这样双击Unity工程里的任何C#脚本就会自动用VS Code打开。如果你之前用过Visual StudioUnity里还残留着一堆旧的.csproj缓存切换编辑器后建议点一下Regenerate project files重新生成。这样可以确保脚本关联关系彻底切换过来不要省这一步。4.2 确保Unity的External Tools面板勾选正确同一个面板里往下看还有几个关键选项Embedded packages建议勾选。它把包管理器的内置包也生成到工程文件中VS Code的智能提示能识别到更多API。代价是首次生成时时间长一点但值得。Roslyn Analyzers勾选后会在工程文件里加分析器引用让编辑器显示更准确的C#编译诊断特别是异步、空引用这些高危问题。Registry packages建议勾选。你通过Package Manager安装的社区第三方包勾选后它们的编译符号也能被OmniSharp索引到减少找不到类/找不到命名空间的假红。这三个选项勾上之后立即点Regenerate project files然后回VS Code看代码提示会明显完整一大截。还有个细节如果你在Unity里改了API兼容级别比如从.NET Standard 2.1改成.NET Framework也必须在External Tools面板重新生成一次工程文件否则VS Code里的提示还是会沿用旧级别的引用信息。这属于最隐蔽的坑因为Unity编辑器里编译正常但VS Code一直报找不到类型。4.3 安装Unity专属包com.unity.ide.vscodeUnity官方为VS Code集成专门发布了一个包包名是com.unity.ide.vscode。在Unity新版本里它默认就装了但很多老项目或精简项目可能没有。打开Window Package Manager在左上角搜索框输入Visual Studio Code如果结果里出现Visual Studio Code Editor说明已有没有的话点号选Add package by name输入com.unity.ide.vscode版本选最新稳定版。这个包的作用不是让你在Unity里操作VS Code而是负责两者之间的握手协议特别是断点调试时它让VS Code能准确映射到Unity引擎的C#源码位置。没有这个包断点调试经常出现命中断点但定位不到对应代码行的情况。装完这个包后再回External Tools面板会多出一行Code Optimisation或者Debugging相关的选项保持默认即可。4.4 验证基本链路从Unity脚本双击到VS Code打开配置到这里先做一次全流程验证在Unity的Project窗口右键Create C# Script新建一个TestScript.cs。双击脚本看它是否自动用VS Code打开。VS Code打开后等几秒钟第一次要加载OmniSharp看代码里有没有正常语法高亮。这时候你会发现一个问题VS Code打开脚本后左侧文件树是空的。因为VS Code只打开了脚本文件而不是整个项目。正确做法是在VS Code里执行File Open Folder选到Unity项目的根目录。这样整个Unity工程的文件结构才会进入VS Code你才能在脚本之间快速跳转、搜索。如果你刚才安装VS Code时勾选了通过Code打开的上下文菜单以后直接在项目根目录右键选Open with Code就行方便很多。5. 调试链路打通launch.json与断点调试5.1 Debugger for Unity扩展生成的launch.json配置代码能写了、智能提示有了接下来是把断点调试打通。没有断点调试写Unity脚本基本靠改代码-切回Unity-运行-观察-再改效率极低。安装并重启VS Code之后打开任意C#脚本按一下F5。如果是第一次运行VS Code会提示选择一个调试环境选Unity。这一步会自动生成一个launch.json文件内容类似这样{ version: 0.2.0, configurations: [ { name: Unity Editor, type: unity, request: launch } ] }这个配置的意思是让VS Code连接到正在运行的Unity Editor进程。理解这一点非常重要——你必须在Unity编辑器运行状态播放模式下调试。VS Code只是在Unity外面挂了一个调试客户端真正执行代码的是Unity引擎。按下F5后VS Code会等待Unity Editor的连接这时需要回到Unity编辑器点击Play按钮代码跑起来之后断点才会命中。5.2 为什么附加到Unity比启动Unity更稳定新版本的Debugger for Unity还会生成一个Unity Editor.Attach配置名字类似{ name: Unity Editor.Attach, type: unity, request: attach }launch和attach的区别在于launch会自己启动一个Unity实例attach是连接到已有的Unity进程。个人强烈推荐使用attach模式原因有两条第一稳定性更好。launch模式经常遇到端口连接超时的问题特别是Unity编辑器已经运行了一段时间后再启动调试VS Code会因为等待一个它自己启动的Unity实例而卡住。第二工作流更自然。你本来就会在Unity编辑器里组织场景、调整物体属性F5后自动进入播放模式不够灵活。attach方式的体验是在VS Code里点F5切到Unity点Play代码跑起来断点命中。整个过程完全由你掌控不会出现调试器还没连上代码已经跑完了的尴尬。配置附加模式后每次调试前确认Unity编辑器处于打开状态即可。如果提示Unable to connect to Unity Editor基本就是Unity没开或者com.unity.ide.vscode包缺失。5.3 断点命中后的常见问题变量查看、调用栈、Unity日志联动断点命中断的是C#代码行此时你可以在VS Code的调试面板看到Variables当前作用域内所有变量值和类型Unity中MonoBehaviour的私有字段也能看到。Watch自己添加关键表达式比如transform.position不需要编译器逐行执行就能观察变化。Call Stack函数调用链能顺着谁调用了谁一步步往上查。还有一个很实用的功能Unity日志联动。开启方式是在Launch配置里加一行logging: { exceptions: true, logMessages: true }打开后Unity的Console窗口里的日志、警告、异常会实时出现在VS Code的Debug Console里。好处是你在调试时不用频繁切回Unity查看报错而且VS Code里的日志会带上文件名和行号点击就能跳到对应代码。我实际测试发现在大量VideoPlayer、Addressables异步加载的场景下Unity Console窗口经常因为刷屏导致编辑器卡顿而VS Code的Debug Console基本不受影响。所以做这种项目时我都是开着日志联动把调试信息集中到VS Code里看实用得很。6. 高频翻车现场与修复手册6.1 智能提示失灵先查OmniSharp再查工程文件这是VS Code配Unity之后最高频的翻车。症状是代码能编译、Unity里一切正常但VS Code里的代码没有颜色、没有智能提示或者整个文件的类名/方法名下面全是红色波浪线。我建议按以下顺序排查每次都能命中一个看VS Code右下角状态栏是否有OmniSharp相关提示。如果有OmniSharp server is starting或者OmniSharp is not running说明语言服务器没起来。确认.NET SDK装好没有命令行执行dotnet --version如果报错就是没装或Path没配好。确认你打开了整个项目文件夹而不是单个脚本文件。只打开单文件时OmniSharp没有项目上下文可以分析必然看不到补全。回Unity点Regenerate project files等生成完再回VS Code。按CtrlShiftP执行OmniSharp: Restart OmniSharp。这个操作会强制重建语言服务解决大部分疑难杂症。我自己的经验是第4步能解决70%的提示失灵第5步解决剩下的25%。只有极少数情况需要删除.vs文件夹Win/.vscode文件夹里的缓存重置设置。6.2 找不到程序集与命名空间不见的假红Unity项目里VS Code报找不到命名空间XX但它实际是存在的这种假红非常恼人因为它会让代码检查的体验大打折扣。原因通常是工程文件没有包含目标程序集引用。前面说的Generated project files本质是Unity把项目里所有程序集依赖关系写入.csproj文件。如果你用Package Manager装了第三方包比如DOTween、TextMeshPro但.csproj没有重新生成VS Code自然不知道这些包的存在。解决流程Unity中执行Assets External Tools Regenerate project files等几秒后再回VS Code执行OmniSharp Restart。一般情况下假红会全部消失。另一种可能是你要引用的脚本在Plugins文件夹下或者用了asmdef程序集定义文件。asmdef会把代码拆分成独立程序集此时.csproj文件会变成多个OmniSharp加载主程序集时不会自动包含其他程序集。这种情况需要在代码里手动加Assembly Definition引用或者在VS Code里同时打开包含asmdef的子文件夹。这是稍进阶的配置普通小项目碰不到但在大型项目里会踩特点就是根部正常但部分类找不到看到这个特征往asmdef方向想。6.3 VS Code占内存过高一个配置就解决VS Code启动快是优点但用久了内存占用飙升也是不争的事实。Unity项目代码量大了之后OmniSharp会索引大量工程文件内存占用经常飙到2GB以上。解决办法有两个方向。第一在settings.json里限制OmniSharp的线程数omnisharp.maxProjectResults: 1000, dotnet.server.maxMemory: 1024前者限制搜索结果数量后者限制内存占用上限。缺点是大工程里代码补全偶尔有延迟但整体比卡死强。第二如果项目结构允许用排除目录来控制索引范围。在settings.json的files.exclude里加上不需要索引的文件夹。Unity项目里Assembly-CSharp等核心程序集没法排除但Assets/External、Assets/ThirdParty这些引用库路径通常是安全的排除对象。我实测一个中等体量的Unity项目经过上面两步配置后VS Code空闲内存从1.8GB降到800MB左右补全体验没有明显下降。6.4 .NET SDK更新后VS Code不生效的坑这里有个非常容易踩的坑Windows系统更新了.NET SDK后命令行里dotnet -v是正常的新版本但VS Code里面OmniSharp还是用老版本甚至直接报找不到.NET SDK。原因很简单VS Code和OmniSharp进程是在旧环境下启动的环境变量变更只在系统层面生效不影响已经运行的进程。处理方式就两个完全退出VS Code确保托盘图标也没了重新打开。在VS Code命令面板里执行OmniSharp: Restart OmniSharp。如果你装了多个版本的.NET SDKC#扩展默认会用最新版本。想指定版本的话在settings.json里加dotnet.server.useOmniSharp: true, omnisharp.path: latestomnisharp.path: latest表示始终使用最新版OmniSharp。大多数情况下不用设置这个但如果你装了多套SDK后发现版本错乱这段配置就能派上用场。6.5 悬浮提示是英文怎么办中文语言包装好之后VS Code菜单已经是中文了但C#扩展的代码提示、悬浮窗口还是英文。这是因为C#扩展现阶段没有官方中文语言包。我自己的做法是接受英文提示因为API文档本身就是英文的翻译过来反而容易失真。Unity的C# API大多命名很直白transform.position、GetComponentT这种看多了根本不需要翻译。如果你实在想让提示变中文可以考虑装第三方汉化包但我试过几个要么翻译质量一般要么跟C#扩展版本不兼容导致报错。与其折腾不如适应原文顺手练英语以后查文档也更顺。7. 我常用的VS Code补强设置与个人心得代码能补全、调试能跑了这些只是基础。做Unity开发时间长了我慢慢摸索出一套让VS Code更好用的配置下面这些是我每次搭新环境时都会处理的。7.1 代码片段Snippets的妙用Unity Code Snippets扩展内置了海量Unity API的代码片段在代码里输入关键字后按Tab就能展开一整段模板代码。举个最常用的例子输入mstart按Tab自动生成private void Start() { }输入mupdate按Tab自动生成private void Update() { }还有GetComponent相关的片段输入gc会展开成GetComponentT()。这些片段能极大提升写重复代码的效率。学会了这个之后我再也没手写过Start、Update方法。而且片段支持自定义在VS Code里配置自定义代码片段文件能把你项目里反复出现的模板内容存进去。比如IO、数据库操作的固定格式一键生成不用每次都从别的脚本复制粘贴。7.2 常见格式问题的解决VS Code默认的格式化快捷键是ShiftAltF。Unity C#脚本中常见的缩进混乱、空格和Tab混用一键就能修正。因为它会调用C#扩展的格式化器规则是按照.NET官方风格来处理的。还有个很实用的小操作EditorConfig文件。Unity其实会生成一个.editorconfig文件置于项目根目录下。它规定了这个项目的缩进、换行等规则。VS Code会自动读取它配合格式化功能使用。装完Unity项目后建议看一眼这个文件是否存在于根目录没有的话手动创建也行无非是放着告诉编辑器我这个项目习惯用4空格缩进、LF换行。我做过一次大版本升级后忽然所有脚本格式化风格变了排查半天就是因为新旧版本Unity生成的项目用不同风格的editorconfig在根目录加一个配置固定住之后再也没乱过。7.3 Git集成与Unity项目的特殊打磨VS Code自带Git集成左下角会显示分支名修改过的文件在资源管理器里会高亮显示。对Unity项目来说因为资产文件是二进制或者YAML格式常用于合并的编辑工具反而不太实用。我的经验是代码文件交给VS Code管它内嵌的Git工具看代码差异非常好用。场景文件.unity、预制体文件.prefab这些也是YAML文本直接看差异也行但真正遇到多人改动同一个场景时VS Code只能告诉你这里冲突了具体冲突在哪里还是得用专门的合并工具。所以有条件的话安装GitLens扩展它能让你在代码行上直接看到每一行最后是谁、在什么时候、哪个提交改的。查代码变更历史、定位bug引入点特别方便。我记得有一次线上版本崩溃就是靠这条功能定位到某个同事在凌晨的提交引入了一行问题代码。有几个配置我想推荐给Unity开发者git.autofetch: true, git.confirmSync: false第一项让Git自动拉取远端更新适合协作开发时保持代码同步第二项减少每次同步的弹窗确认。如果团队规模较小、代码节奏快这两项能让流程顺滑不少。7.4 用终端整合Unity命令行加速日常操作VS Code内置了终端Terminal。你可以把它当成一个快捷入口直接在项目根目录跑命令行。对Unity开发者来说最常用的命令行操作其实是用Unity批量执行构建脚本。调用命令行编译打包。在VS Code的终端里可以直接执行Unity编辑器的命令行模式比如# 进入Unity编辑器目录后用命令行触发一次项目构建 Unity.exe -batchmode -quit -projectPath 你的项目路径 -executeMethod 构建脚本的静态方法名 -logFile build.log如果你写好了自动构建脚本配合VS Code的终端和任务功能打包劳作的效率会提升不少。我甚至见过一些Unity开发者直接把构建任务写到.vscode/tasks.json里按快捷键就触发打包都不用切到命令行窗口。这个用法进阶一点但等你基础配置都搞定之后再回头来玩会有一种原来VS Code还能这么用的感觉。7.5 开机再完成一次全链路验证最后说一个我觉得值得养成的习惯每次新配置完环境后用一个最小项目做全链路验证不试不清楚系统里有没有暗坑。新建一个空场景挂一个最简单的脚本里面写一个Debug.Log然后在VS Code里打断点、按F5、切回Unity点Play。如果断点命中、日志输出正常说明整条链路打通了。之后再开始填项目内容心理踏实。配环境这件事理论说得再多不如亲手走一遍。我第一次配的时候光是卡在OmniSharp上就折腾了两个晚上后来把上面说的步骤全部理清才发现每一步其实都有明确的逻辑。希望这篇教程能帮你少走这些弯路一次配通。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →