You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中新建C#脚本时如何自动打开刚创建的对应脚本

Unity新建C#脚本后自动打开对应VS文件的配置方法

基础配置检查

  • 打开Unity顶部菜单栏 Edit > Preferences(Mac端路径为Unity > Settings),进入External Tools设置页
  • 确认External Script Editor下拉选中的是你本地安装的对应版本Visual Studio,不要选择Open by file extension或者其他不相关的程序
  • 在下方Generate .csproj files for区域,勾选所有和本地项目关联的选项(本地包、嵌入包、注册表包按需勾选即可),点击Regenerate project files按钮重新生成项目和VS的关联文件
  • 确认Editor Attaching选项处于勾选状态,该选项负责Unity和Visual Studio之间的进程通信

Visual Studio侧关联修复

  • 打开Visual Studio,通过顶部菜单栏Extensions > Manage Extensions找到Visual Studio Tools for Unity插件,确认插件已启用,若版本落后直接更新到最新版,完成后重启VS和Unity
  • 若插件状态正常仍无法联动,打开系统应用列表找到Visual Studio,点击「修改」进入安装配置页,确认使用Unity的游戏开发工作负载已勾选安装,缺失组件补装完成后重启设备再测试

缓存异常修复

如果配置全对还是无法自动打开,一般是本地缓存错乱导致:

  • 完全关闭Unity和Visual Studio
  • 进入项目根目录,删除以下内容:
    • 隐藏文件夹.vs
    • 项目缓存文件夹Library
    • 所有后缀为.csproj、.sln的项目关联文件
  • 重新打开Unity,等资源全量导入完成后再测试新建脚本,绝大多数缓存问题通过该操作都能解决

兜底自定义实现

如果以上操作全部完成仍不生效,可以通过编辑器脚本监听资源创建事件强制打开新脚本:

将以下代码放入项目中任意名为Editor的文件夹下即可生效,新建C#脚本时会自动触发打开逻辑

using UnityEditor;
using System.IO;

public class AutoOpenNewCSharpScript : AssetPostprocessor
{
    static void OnAssetCreated(string assetPath)
    {
        if (Path.GetExtension(assetPath) == ".cs")
        {
            EditorApplication.delayCall += () =>
            {
                MonoScript targetScript = AssetDatabase.LoadAssetAtPath<MonoScript>(assetPath);
                if (targetScript != null)
                {
                    AssetDatabase.OpenAsset(targetScript);
                }
            };
        }
    }
}

内容的提问来源于stack exchange,提问作者Toash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 06:36:27