如何更改全局 .vscode 文件夹的位置?

so.*_*red 5 visual-studio-code

我正在 Linux 上设置 Visual Studio Code。

由于机器是共享的,我的$HOME文件夹的大小受到限制,我没有空间用于扩展(存储在 中$HOME/.vscode/),这使我无法安装它们。

我在其他开发目录上确实有足够的空间,但是我找不到告诉 Visual Studio Code 使用另一个路径而不是$HOME全局.vscode文件夹的方法。

有没有办法在不改变我的情况下做到这一点$HOME

编辑
虽然评论中的建议解决了将扩展安装在不同文件夹中的问题 -.cache我的$HOME文件夹中
有一个由 vscode 填充的巨大文件夹......有没有办法以某种方式更改到这个文件夹的路径?

Car*_*arl 5

一些选项(按推荐顺序排列):

使用自定义目录来存储扩展和用户数据

您最好的选择可能是告诉 VS Code 使用扩展和用户数据的自定义路径。这是可行的,因为扩展和缓存文件夹会占用磁盘空间,并且缓存文件夹位于用户数据文件夹下。

调用 VS Code 时,您可以提供自定义路径作为命令行参数。使用/mnt/extdir/vsc-ext//mnt/extdir/vsc-user-data/作为所需外部目录的示例,您可以使用:

$ code --extensions-dir /mnt/extdir/vsc-ext/ --user-data-dir /mnt/extdir/vsc-user-data/ .
Run Code Online (Sandbox Code Playgroud)

您可以向 shell 启动脚本添加别名以方便执行此操作:

alias code='code --extensions-dir /mnt/extdir/vsc-ext/ --user-data-dir /mnt/extdir/vsc-user-data/'
Run Code Online (Sandbox Code Playgroud)

然后您可以像往常一样继续使用例如code .,但让 VS Code 使用外部目录进行扩展和缓存。

来自CLI 文档:

--extensions-dir <dir>

设置扩展的根路径。在便携式模式下没有效果。

--user-data-dir <dir>

指定保存用户数据的目录,以 root 身份运行时很有用。在便携式模式下没有效果。


附带说明:我运行了以下命令来确认缓存文件夹实际上位于用户数据目录下:

alias code='code --extensions-dir /mnt/extdir/vsc-ext/ --user-data-dir /mnt/extdir/vsc-user-data/'
Run Code Online (Sandbox Code Playgroud)

使用便携模式

使用便携式模式 (文档),所有用户数据都存储在您选择的安装目录中。

这可能适合您的情况,但缺点是安装方式不标准,并使更新 VS Code 更加麻烦

使用符号链接

这可能也有效,但会是一个较差的选择。上面给出的其他解决方案得到官方支持并且更加强大。