VSCode右键打开文件夹配置指南:注册表与PowerShell实现
每次要在 VSCode 里打开某个项目文件夹正常人都会经历这个步骤启动 VSCode点文件点打开文件夹然后在那一层又一层的目录树里翻半天。如果手头同时有好几个项目要切换这套动作基本能把人的耐心磨光。所以“将 VSCode 添加右键打开文件夹功能”这个需求几乎是每个 Windows 用户装完 VSCode 之后迟早会做的事。你会发现很多同事的电脑上在文件夹空白处点一下鼠标右键直接就有“Open with Code”或者“通过 Code 打开”而你的电脑却没有。究其原因大部分是安装 VSCode 时跳过了那个勾选项或者用的是绿色解压版压根没往右键菜单里注册。这不是什么大毛病但每天都要多戳好几下鼠标日积月累也是隐形的效率损耗。这篇博文就专门聊这件事。我会从 Windows 右键菜单的机制讲起把注册表里每一项配置都拆开讲明白然后给出一个可以直接复制粘贴的 PowerShell 脚本以及一份纯手动的 .reg 文件方案最后再补充几个我实际踩过的坑和进阶玩法。不管是刚接触 VSCode 的新手还是想把这套配置做成脚本分发给同事的场景都能找到对应的方案。1. 核心思路为什么改注册表而不去设置里找开关1.1 右键菜单里其实有两个入口先说一个很多人搞混的概念在 Windows 里“在文件夹上右键”和“在文件夹空白处右键”是两个完全不同的场景。在文件夹图标上点右键弹出的菜单属于“目录本身的右键菜单”用来对文件夹这个对象做操作比如打开、重命名、复制。在文件夹窗口内部的空白区域点右键弹出的菜单属于“目录背景的右键菜单”这里通常会有“查看”“排序方式”“刷新”“个性化”这些选项也允许第三方程序往里面加自定义命令比如 Git Bash Here、Open Terminal 等。VSCode 官方安装时勾选的“Open with Code”会把两种场景都注册上也就是说不管你是先进入某个文件夹再在空白处右键还是直接对着某个文件夹图标右键都能看到“通过 Code 打开”。但如果你当时没勾选或者用的是绿色解压版就一个入口都没有。这两个入口在注册表里的位置不同相差一个Background路径层级我在下一章会详细拆解。1.2 为什么不推荐第三方工具网上一搜“VSCode 右键打开”会蹦出很多工具比如各种右键菜单管理器甚至还有人推荐用 Windows 自带的“控制面板-默认程序”里的 ICON 设置项。这里我个人的观点是为了加一个右键菜单项去装第三方工具没必要也不划算。很多右键菜单增强工具不仅会扫描全盘、占用一定的系统资源还会往你的右键菜单里塞入大量广告推广项。本来只是想加一个 VSCode 的入口结果装完之后菜单里多了一堆“XX压缩”“XX看图”“XX壁纸”。而直接改注册表的好处是一行命令搞定整个改动过程完全透明想要卸载时把注册表项删掉就行没有任何残留。另外需要特别说明一点VSCode 官方其实已经内置了这个功能通过修改注册表去实现本质上是把官方安装器做的事情重新做一遍属于“补救”性质不是歪门邪道。微软的安装向导里有一个“选择附加任务”的步骤里面有一个复选框“将‘通过 Code 打开’操作添加到 Windows 资源管理器目录上下文菜单”很多人一路点“下一步”就跳过去了。如果你当时没勾选现在也不用为了补这个功能去重装一遍 VSCode注册表操作直接搞定。1.3 注册表方案的基本原理Windows 资源管理器的右键菜单本质上是从注册表里读取配置后动态生成的。具体来说它会在HKEY_CLASSES_ROOT通常缩写为 HKCR实际映射到HKEY_LOCAL_MACHINE\Software\Classes和HKEY_CURRENT_USER\Software\Classes的合并视图下面查找与当前对象类型相关的子键。找到Directory文件夹类型后再往下就是shell、Background\shell这两个关键节点。shell下面每一个子键都代表一个右键菜单项每个菜单项下通常还有一个command子键里面存的是当用户点击这个菜单时要执行的命令行字符串。听起来有点绕但本质上就像在一块“配置白板”上写几行字写了一个子键菜单里就多一项没写就没有。这也决定了这种方案的灵活性极高——你不仅能给 VSCode 加右键菜单如果理解了这几行配置以后想给自己常用的其他工具加右键入口比如在空白处右键打开终端、右键用某个编辑器打开文件夹都是同一个套路。2. 核心参数逐行拆解看懂关键键值再动手2.1 Directory 和 Directory\Background 的区别先把注册表里两个关键路径说清楚HKEY_CLASSES_ROOT\Directory\shell HKEY_CLASSES_ROOT\Directory\Background\shell第一条对应“对着文件夹图标右键”的场景第二条对应“在文件夹窗口里空白处右键”的场景。记得我第一次配的时候只配了Directory\shell结果在某个项目文件夹里点空白处右键找不到 VSCode 入口当时还以为是没生效后来才发现是两个位置都得写。更让人容易糊涂的是Background场景下command接收的参数占位符是%V而普通场景下是%1。这个占位符代表了右键对象的位置信息%1传的是文件夹本身的路径%V传的是当前窗口的文件夹路径。如果填错VSCode 打开后可能变成空白窗口或者提示路径不存在。2.2 菜单名称、图标和命令行参数怎么写先看一份完整的注册表内容这是 VSCode 右键功能的“标准答案”Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode] Open with VSCode IconC:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe [HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command] \C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\ \%V\ [HKEY_CLASSES_ROOT\Directory\shell\VSCode] Open with VSCode IconC:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe [HKEY_CLASSES_ROOT\Directory\shell\VSCode\command] \C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\ \%1\这里有几个细节值得逐条说明因为它们恰恰是出错率最高的地方。第一[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]这一行末尾的VSCode是子键的名称它不会直接显示在右键菜单里真正的菜单名称由下一行的决定。所以你可以把Open with VSCode改成“用 VSCode 打开”也可以是“VSCode 打开文件夹”完全不影响功能。但如果子键名称重复后面的配置会覆盖前面的这一点在多脚本批量执行时要留意。第二Icon这一行指定的是右键菜单左侧显示的图标。Windows 允许直接引用一个 .exe 文件作为图标源所以这里直接指向 VSCode 的安装程序主文件就行。注意在 .reg 文件里路径分隔符要用两个反斜杠\\否则导入时会被当成转义字符处理。第三command子键里的默认值实际上是一条命令行。\是 .reg 文件里对双引号的转义写法最终生效的命令是C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\Code.exe %V双引号不是随手加的而是必须的。因为 VSCode 默认安装在C:\Users\xxx\AppData\Local\Programs\Microsoft VS Code这个路径其中包含空格。如果不加双引号Windows 会把路径按空格拆开命令执行必然失败。这一点在下一章会用 PowerShell 演示一组动作展示如何正确拼出这条命令。第四%V和%1的区别。Background场景下command里用%V这个占位符由资源管理器替换为当前所在文件夹的路径普通目录右键场景用%1代表被右键的那个文件夹。很多网上流传的教程只写了一份所以经常有人配完之后发现在空白处能打开对着文件夹右键不行或者反过来。2.3 如何自动找到 VSCode 的安装路径绝大多数人通过官方安装包安装的 VSCode默认路径都在用户目录下也就是C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\Code.exe。但也有人是管理员权限安装到C:\Program Files\Microsoft VS Code\Code.exe或者用绿色解压版放在 D 盘等自定义目录。为了不让路径问题成为卡点我建议用 PowerShell 自动获取路径而不是手写。这里有两种可靠方法# 方法一通过 Get-Command 查找 PATH 里的 code (Get-Command code).Source如果安装时勾选了“添加到 PATH”这个命令会直接返回Code.exe的完整路径。# 方法二按已知的默认路径逐个检查 $paths ( $env:LOCALAPPDATA\Programs\Microsoft VS Code\Code.exe, C:\Program Files\Microsoft VS Code\Code.exe ) $paths | Where-Object { Test-Path $_ }Get-Command 方案简单直接但前提是安装时勾选了“添加到 PATH”。默认路径检查方案兼容性更好就算没加 PATH 也能找到。如果这两种方式都查不到那就说明 VSCode 安装在非默认位置需要手动去桌面快捷方式上看一下属性里的目标路径或者自己在文件夹里找到Code.exe。把路径确定好后面脚本才不会跑空。3. 一行一行写入注册表完整实操步骤3.1 推荐方式PowerShell 脚本一键写入下面这套 PowerShell 脚本我一直在用可以直接复制到 PowerShell 窗口里执行。它会自动检测 VSCode 的安装路径然后检查路径是否存在不存在就直接报错退出不继续往下写注册表避免配置了一个无效入口。# 自动检测 VSCode 安装路径 $codePath $null # 方式一通过 Get-Command 从 PATH 中查找 try { $cmd Get-Command code -ErrorAction Stop $codePath $cmd.Source } catch {} # 方式二查默认安装路径 if (-not $codePath -or -not (Test-Path $codePath)) { $defaultPaths ( $env:LOCALAPPDATA\Programs\Microsoft VS Code\Code.exe, C:\Program Files\Microsoft VS Code\Code.exe ) foreach ($p in $defaultPaths) { if (Test-Path $p) { $codePath $p break } } } if (-not $codePath -or -not (Test-Path $codePath)) { Write-Host 没有找到 Code.exe请确认 VSCode 已安装。 -ForegroundColor Red return } Write-Host 找到 VSCode: $codePath -ForegroundColor Green # 用路径生成带引号的命令行参数 $quotedCode $codePath # 写入背景右键菜单文件夹空白处右键 New-Item -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode -Force | Out-Null New-Item -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command -Force | Out-Null Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode -Name (Default) -Value Open with VSCode Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode -Name Icon -Value $codePath Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command -Name (Default) -Value $quotedCode %V # 写入文件夹本体右键菜单对着文件夹图标右键 New-Item -Path Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode -Force | Out-Null New-Item -Path Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode\command -Force | Out-Null Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode -Name (Default) -Value Open with VSCode Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode -Name Icon -Value $codePath Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode\command -Name (Default) -Value $quotedCode %1 Write-Host 右键菜单配置完成。 -ForegroundColor Green Write-Host 如果右键菜单没有立即出现可以重启一下 Windows 资源管理器。 -ForegroundColor Yellow在执行这段脚本前有两点必须先确认。第一PowerShell 必须以管理员身份运行因为HKEY_CLASSES_ROOT下面的写入操作默认需要提升权限。如果你的账户是普通用户注册表写入会报错“拒绝访问”。右键点击 PowerShell 图标选择“以管理员身份运行”即可。第二如果你之前手动配过同名子键脚本里的-Force参数会直接覆盖原来的内容一般不会报错但一旦 VSCode 路径写得不对菜单也会跟着失效。遇到这种情况重新执行一遍正确路径的脚本就行。执行完毕后随便打开一个文件夹在空白处右键应该就能看到“Open with VSCode”了。如果没看到最直接的刷新方式不是重新注销系统而是重启资源管理器进程——在任务管理器里找到“Windows 资源管理器”右键选择“重新启动”桌面图标会闪一下但所有窗口都会保留。这一步在很多场景下比重启电脑省事得多。3.2 备选方式手工创建 .reg 文件如果你的环境里没有 PowerShell或者希望把配置做成一个可以分发给同事的 .reg 文件那办法更简单在桌面上新建一个文本文件把下面内容复制进去注意替换其中的 VSCode 安装路径然后将文件后缀从.txt改成.reg。Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode] Open with VSCode IconC:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe [HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command] \C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\ \%V\ [HKEY_CLASSES_ROOT\Directory\shell\VSCode] Open with VSCode IconC:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe [HKEY_CLASSES_ROOT\Directory\shell\VSCode\command] \C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\ \%1\双击这个 .reg 文件系统会弹出“是否确认修改注册表”的提示点击“是”即可。这里有一点要特别注意.reg 文件双击后默认以当前登录用户的权限执行不一定能成功写入 HKCR。如果导入后没有效果请右键这个文件选择“合并”或者先以管理员身份打开注册表编辑器再通过“文件 - 导入”把 .reg 文件导入进去。另外在.reg文件里写路径时永远记得使用双反斜杠\\。很多人第一次写 .reg 文件路径里只写了一个反斜杠双击导入时不会有提示错误但那一条 Icon 或 command 的值会被错误解析结果就是右键菜单出现了但图标是空白的点进去提示找不到路径。我当年就吃过这个亏找了一圈原因才发现是转义符的问题。3.3 验证是否生效和清理方式配置完成后验证的方法很简单但分两种场景别搞混了先进入一个文件夹比如C:\Users\你的用户名\Desktop在窗口空白处右键看有没有“Open with VSCode”。这一步验证的是Directory\Background\shell的配置。再回到桌面对着任意一个文件夹图标右键看有没有同样的菜单项。这一步验证的是Directory\shell的配置。如果第一种有、第二种没有那就是只写了Background节点把另一个也补上就行反过来同理。如果想要删除这个右键菜单保留原始的 Windows 纯净状态也非常简单。一条命令就够Remove-Item -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode -Recurse -Force Remove-Item -Path Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode -Recurse -Force如果不习惯命令行也可以打开regedit手动定位到这两个路径右键删除VSCode子键。删除之后同样的右键菜单会保留在已打开的资源管理器窗口里需要重启资源管理器才会消失。这是 Windows 的一个缓存机制——右键菜单的结构在资源管理器打开时就被加载了不会实时刷新。4. 常见报错与排查实录4.1 问题速查表操作这个概念的过程中最容易遇到的几个问题我整理成了表格方便按图索骥排查现象可能原因解决办法右键菜单完全没出现注册表写入失败或路径错误确认是否用管理员权限执行重新执行脚本并检查 Code.exe 路径菜单出现了但图标是空白的Icon 键值没写对或路径包含转义问题将 Icon 指向 Code.exe 绝对路径.reg 文件里用双反斜杠点菜单后 VSCode 打开后是空白窗口command 里的占位符用错Background 节点用 %V目录本体节点用 %1点菜单提示找不到 Code.exe路径含空格但没加引号确保命令行首尾的双引号存在示例C:\...\Code.exe %V只有一个场景生效空白处或文件夹图标只写了 Directory 或只写了 Background两个路径下的 shell 节点都补全菜单叫“Open with VSCode”但想改成中文默认值决定的菜单名称修改 后的字符串比如改为“用 VSCode 打开”右键菜单出现但刷新/重启后消失用了临时注册表或被杀毒软件拦截检查 HKCR 是否写成功查看安全软件日志4.2 我踩过的一个坑路径引号问题这个坑当初让我折腾了半天现在回想起来其实很简单但当时就是卡了很久。我一开始图省事在 PowerShell 里直接拼接 command 的字符串Set-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command -Name (Default) -Value $codePath %V写完之后右键菜单能出来但一点就报错提示找不到“C:\Users”。我当时很奇怪路径明明没问题。后来我把注册表里的值导出来看才知道标准的带空格路径被系统按空格拆开了命令变成了C:\Users\xxx\AppData\Local\Programs\Microsoft VS和Code\Code.exe各成一段。解决方式就是在codePath外面套一层双引号。但也别指望无脑在每个值两边加引号就完事%V这个占位符是给 Windows 资源管理器预留的你在注册表里用了%V系统会在点击时自动替换成实际路径。如果这个路径本身也可能包含空格所以在命令行里也要给%V加上双引号。也就是说最终 command 的格式必须长这样C:\...\Code.exe %V前面引号包住程序路径后面%V也得用引号包住。这是 Windows 命令行传入带空格参数的通用规则不只是 VSCode 右键菜单这一个场景。4.3 多版本或移动了 VSCode 之后的处理还有一类特殊场景你电脑上装了不止一个 VSCode比如 Stable 版和 Insiders 版并存或者你后来把 VSCode 从 C 盘迁到了 D 盘。这时的处理方式很直接——重新执行一遍配置脚本让注册表指向新的路径即可。但注意不要把旧版本的菜单项留着否则右键菜单里会出现两个“Open with VSCode”点一个能打开新版点另一个可能报错。建议先把旧的注册表子键删掉再执行新路径的配置脚本做到干净彻底。至于 Insiders 版VSCode Insiders 的安装路径通常是C:\Users\xxx\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe程序名后面的空格和连字符都要原样保留。如果你想让右键默认打开 Insiders 版把脚本里的$codePath指向它就行其他逻辑完全一样。5. 进阶玩法把这套配置做成可分发的一键脚本5.1 带检测逻辑的完整脚本如果你平时在公司里负责给同事配开发环境或者经常需要在多台机器上重复配置手写注册表肯定不够方便。我建议把完整的配置逻辑做成一个自带检测和提示的 PowerShell 脚本直接在同事电脑上一键执行。这个脚本相比前面那个“简单版”多了几层防护启动时自动请求管理员权限找不到 Code.exe 时给出明确提示而不是默默失败写入注册表后自动刷新资源管理器图标缓存。# 自动请求管理员权限 if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Start-Process PowerShell -Verb RunAs -NoProfile -ExecutionPolicy Bypass -File $PSCommandPath return } # 自动检测 VSCode 路径 $codePath $null try { $cmd Get-Command code -ErrorAction Stop $codePath $cmd.Source } catch {} if (-not $codePath -or -not (Test-Path $codePath)) { $defaultPaths ( $env:LOCALAPPDATA\Programs\Microsoft VS Code\Code.exe, C:\Program Files\Microsoft VS Code\Code.exe ) foreach ($p in $defaultPaths) { if (Test-Path $p) { $codePath $p break } } } if (-not $codePath -or -not (Test-Path $codePath)) { Write-Host 未找到 Code.exe请确认 VSCode 已安装或者手动修改脚本中的路径。 -ForegroundColor Red exit } $quotedCode $codePath # 配置目录背景右键菜单 $bgPath Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode $bgCmdPath $bgPath\command New-Item -Path $bgPath -Force | Out-Null New-Item -Path $bgCmdPath -Force | Out-Null Set-ItemProperty -Path $bgPath -Name (Default) -Value Open with VSCode Set-ItemProperty -Path $bgPath -Name Icon -Value $codePath Set-ItemProperty -Path $bgCmdPath -Name (Default) -Value $quotedCode %V # 配置目录本体右键菜单 $dirPath Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode $dirCmdPath $dirPath\command New-Item -Path $dirPath -Force | Out-Null New-Item -Path $dirCmdPath -Force | Out-Null Set-ItemProperty -Path $dirPath -Name (Default) -Value Open with VSCode Set-ItemProperty -Path $dirPath -Name Icon -Value $codePath Set-ItemProperty -Path $dirCmdPath -Name (Default) -Value $quotedCode %1 # 重启资源管理器让菜单立即生效 Stop-Process -Name explorer -Force Start-Process explorer Write-Host 配置完成右键菜单已生效。 -ForegroundColor Green脚本里的Stop-Process -Name explorer -Force会自动刷新资源管理器等几秒后桌面图标和任务栏会重新出现。这个操作对正在使用资源管理器窗口的程序没有影响但如果你桌面上还有未保存的文档界面最好先保存一下再执行。5.2 一键卸载脚本有配置就该有卸载不然哪天不想要了还得去注册表编辑器里手动翻。这里给出一键卸载的脚本逻辑就是删除前面建的所有子键# 自动请求管理员权限 if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Start-Process PowerShell -Verb RunAs -NoProfile -ExecutionPolicy Bypass -File $PSCommandPath return } $targets ( Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode, Registry::HKEY_CLASSES_ROOT\Directory\shell\VSCode ) foreach ($target in $targets) { if (Test-Path $target) { Remove-Item -Path $target -Recurse -Force Write-Host 已删除: $target -ForegroundColor Green } else { Write-Host 未找到: $target跳过。 -ForegroundColor Yellow } } Stop-Process -Name explorer -Force Start-Process explorer Write-Host 右键菜单已清理。 -ForegroundColor Green在实际使用中卸载脚本比配置脚本更重要。我给同事分发配置脚本的时候一定会把卸载脚本一起放在同目录里防止以后配置变化需要回滚这是做环境配置类脚本的基本习惯。5.3 其他实用小技巧VSCode 右键菜单配置就绪之后顺手把另外两个右键功能一起配掉开发体验会好很多。一个是“在集成终端中打开”。Windows Terminal 或者系统自带的终端其实也支持类似注册表方式添加右键菜单。如果你经常在项目文件夹里敲命令可以在Directory\Background\shell下加一个OpenTerminal子键command 指向wt.exe或cmd.exe加上%V参数就能在当前目录打开终端。这和 VSCode 的配置思路完全一致。另一个是自己定制菜单名称。网上的教程里普遍用“Open with VSCode”做菜单名但我个人更喜欢改成“用 VSCode 打开文件夹”因为中文菜单在中文系统上看起来更自然而且更明确表达了这个动作是打开文件夹不是单纯启动 VSCode。修改方式也简单把后面的字符串换成你想要的就行不需要改动任何其他部分。还有一个小技巧是给不同工具设置专属的右键菜单图标。很多人只知道 Icon 键值可以指向 exe 文件其实也可以指向.ico文件、.dll文件甚至系统自带的.dll索引号。如果是给自己写的工具配菜单做一个精美的图标放到固定位置然后把 Icon 指向它右键菜单瞬间专业化很多。但这个属于锦上添花不影响功能可以等基础配置稳定后再折腾。我个人在实际操作中的体会是这类右键菜单配置最大的价值不是省那一两下鼠标点击而是让整个工作流的打开路径变成“找到目录 - 右键 - 直接干活”省掉了每次“先打开编辑器再导航到目录”的琐碎动作。尤其是项目数量多、切换频繁的开发场景下这种感觉就像是给工具做了一次“顺手化”改造改完之后就再也回不去了。