怎么让vscode的东西不装在c盘里面

5次阅读

能改。vs code安装路径可通过zip版解压到非系统盘实现,再通过–user-data-dir参数或code_user_data_dir环境变量将用户数据(含扩展)一并迁移至指定路径。

怎么让vscode的东西不装在c盘里面

VS Code 安装路径能改吗?默认确实会进 C 盘,但可以避开

VS Code 桌面版安装程序(vscodeSetup-x64.exe)运行时,默认把主程序、缓存、扩展都塞进 C:Users<username>AppDataLocalProgramsmicrosoft VS Code</username>AppDataRoamingCode。这不是“不能改”,而是安装器没给你显式选路径的界面——但有绕过办法。

用 ZIP 版跳过安装器,直接放 D 盘或任意位置

这是最干净、最可控的方式:不走 windows Installer,也就不会硬塞进 AppDataLocalPrograms。你解压到 D:toolsvscodeE:devvscode-portable 都行,启动后所有用户数据(扩展、设置、缓存)默认仍写进 AppDataRoamingCode ——但可以一并挪走。

  • 去官网下载 VSCode-win32-x64-{version}.zip(不是 .exe
  • 解压到非系统盘,比如 D:vscode
  • 双击 Code.exe 启动,它会自动识别已存在的 AppDataRoamingCode,但不会往 LocalPrograms 写东西
  • 想彻底隔离?启动时加参数:Code.exe --user-data-dir="D:vscodedata",这样连配置和扩展都落在你指定位置

改注册表或环境变量强制重定向用户数据目录

就算用了 ZIP 版,VS Code 默认还是把扩展、设置、日志全丢进 AppDataRoamingCode,这部分占空间且无法在安装时选。靠 CODE_USER_DATA_DIR 环境变量就能全局接管。

  • 新建系统环境变量:CODE_USER_DATA_DIR,值设为 D:vscodeuser-data(路径必须存在)
  • 重启 VS Code(包括任务栏里残留的进程),再打开就自动用新路径存扩展和 settings.json
  • 注意:这个变量只影响「用户数据」,不影响插件本身的安装包缓存(Cache 目录仍可能出现在 AppDataLocal,但体积小得多)
  • 如果同时用了 --user-data-dir 命令行参数,它优先级高于环境变量

扩展安装路径藏得深,但其实跟着 user-data-dir 走

很多人以为扩展是单独装在某个地方,其实它们就放在 user-data-dir 下的 extensions/ 子目录里。只要上面两步做对了,扩展自然就离开 C 盘。

  • 扩展实际路径是:<user-data-dir>extensionsms-python.python-2024.x.x</user-data-dir> 这类结构
  • 别手动剪切已有扩展文件夹——VS Code 启动时会校验签名,乱动会导致扩展禁用
  • 换路径后首次启动会重新安装已启用的扩展,走的是网络下载,不是迁移旧文件
  • 如果你用的是 Remote-ssh 或 WSL,远程端的扩展存于对应系统的 ~/.vscode-server,和本地路径无关

真正麻烦的不是“能不能挪”,而是 VS Code 把“程序本体”和“用户状态”拆成两套路径逻辑,又没在 ui 里暴露。手动干预时最容易漏掉 CODE_USER_DATA_DIR 这个环境变量,结果程序跑 D 盘了,扩展和设置还在 C 盘偷偷吃空间。

text=ZqhQzanResources