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

如何在Windows与Linux主机共用VSCode工作区文件并适配路径?

在跨Windows/Linux的VS Code工作区中配置路径的正确方式

方案1:多路径兼容(无需额外配置)

直接在工作区文件的folders数组中同时写入两个系统的路径,VS Code会自动忽略当前系统不存在的路径:

{
  "folders": [
    // Linux路径:利用${userHome}匹配主目录
    {
      "path": "${userHome}/projects/foo-project"
    },
    // Windows路径:直接写死盘符(或用${env:SystemDrive}动态获取系统盘)
    {
      "path": "D:/projects/foo-project"
    }
  ],
  "settings": {}
}

注意:路径里统一用正斜杠/,VS Code会自动适配Windows的反斜杠;如果你的Windows项目盘不固定,把D:/换成${env:SystemDrive}/即可,它会读取当前系统的系统盘符(比如C:、D:)。

这个方案的好处是不用额外配置环境变量,缺点是在当前系统中会显示一个标灰的“不存在”文件夹,但完全不影响使用和搜索功能。

方案2:环境变量统一路径(更简洁)

在两个系统上分别设置同名的环境变量,然后在工作区文件中引用这个变量:

  1. Windows端:
    • 打开系统环境变量设置,新增用户变量PROJECT_ROOT,值为D:\projects\foo-project
    • 重启VS Code让环境变量生效
  2. Linux端:
    • 编辑~/.bashrc或~/.zshrc,添加export PROJECT_ROOT="/home/user/kilroy/projects/foo-project"
    • 执行source ~/.bashrc(或对应的配置文件),然后重启VS Code

然后工作区文件只需要写一行:

{
  "folders": [
    {
      "path": "${env:PROJECT_ROOT}"
    }
  ],
  "settings": {}
}

这个方案更干净,不会有多余的文件夹显示,适合长期跨系统使用。

关于${userHome}无效的排查

你之前用${userHome}无效,大概率是路径写法问题:

  • JSON中路径的反斜杠需要转义(比如${userHome}\\projects\\foo-project),更推荐直接用正斜杠${userHome}/projects/foo-project,VS Code会自动处理跨系统的路径分隔符
  • 确认Linux下的${userHome}确实指向/home/user/kilroy(执行echo $HOME就能验证)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:07:15