有没有办法更改 Visual Studio Code 的扩展文件夹位置?
Posted
技术标签:
【中文标题】有没有办法更改 Visual Studio Code 的扩展文件夹位置?【英文标题】:Is there a way to change the extensions folder location for Visual Studio Code? 【发布时间】:2017-02-26 02:34:12 【问题描述】:我已将 Visual Studio Code 放在 OneDrive 上,以便在我的设备上将其与其设置同步。
但是,扩展存储在 Windows 上的 %USERPROFILE%\.vscode\extensions
中。
是否可以更改此文件夹的位置,以便将其放在 Visual Studio Code 主文件夹中?
起初我认为复制 Visual Studio Code 文件夹的 resources\app\extensions
中的扩展名会是一个很好的解决方法,但那行不通。
我还在documentation page 和用户设置中搜索了解决方案,但没有结果。
【问题讨论】:
您可以使用this extension在vscode实例之间同步设置。效果很好。 @Bill_Stewart:您好,感谢您的建议。我会尝试使用这个扩展,但我想知道是否有更简单的方法,比如修改配置文件。 安装之间的同步设置不是 VS Code 的内置功能之一。因此扩展名。 【参考方案1】:我做了什么 - 在第一次安装 Visual Studio Code 后,我检查了文档并在编辑器快捷方式的“目标”字段的末尾添加了以下内容(两个破折号前有一个空格):
--extensions-dir="DRIVELETTER:\VSCODE\extensions"
--user-data-dir="DRIVELETTER:\VSCODE\settings"
其中 DRIVERLETTER 和 VSCODE 是安装 Visual Studio Code 的相应驱动器和目录。所以我的看起来像这样:
"D:\Microsoft VS Code\Code.exe" --extensions-dir="D:\Microsoft VS Code\extensions"
这里是用户数据目录:
"D:\Microsoft VS Code\Code.exe" --user-data-dir="D:\Microsoft VS Code\settings"
通过右键单击快捷方式并选择“属性”来访问“目标”字段
无论如何,对于这个问题有一个更简单的解决方案 - 只需使用 Visual Studio Code 的可移植版本。它适用于 Windows、Linux 和 macOS:
启用便携模式
Windows 和 Linux
解压 Visual Studio Code 下载后,只需在 Visual Studio Code 的文件夹中创建一个数据文件夹:
|- VSCode-win32-x64-1.25.0-insider | |- Code.exe(或代码可执行文件) | |- 数据 | |- ...
从那时起,该文件夹将用于包含所有 Visual Studio Code 数据,包括会话状态、首选项、扩展等。
数据文件夹可以移动到其他 Visual Studio Code 安装。这对于更新您的可移植 Visual Studio Code 版本很有用:只需将数据文件夹移动到更新的 Visual Studio Code 提取版本。
macOS
在 macOS 上,您需要将数据文件夹作为应用程序本身的同级文件夹。由于该文件夹将在应用程序旁边,因此您需要对其进行专门命名,以便 Code 可以找到它。默认文件夹名称为 code-portable-data:
|- Visual Studio Code.app |- 代码便携数据
如果您的应用程序处于隔离状态,便携模式将不起作用,如果您刚刚下载了 Visual Studio Code,则默认情况下会发生这种情况。如果便携模式似乎不起作用,请确保删除隔离属性:
xattr -dr com.apple.quarantine Visual\ Studio\ Code.app
注意:在Insiders上,文件夹应命名为code-insiders-portable-data。
2021 年 12 月 14 日更新
来自Visual Studio Docs
注意:不要尝试在从 Windows 用户或系统安装程序安装时配置便携模式。便携模式仅在 Windows ZIP (.zip) 存档中受支持。另请注意,Windows ZIP 存档不支持自动更新。
【讨论】:
我发现将--extensions-dir
和--user-data-dir
cmdline 开关添加到快捷方式并非没有警告......如果使用“安装程序”版本(Windows)那么有很多“上下文菜单”选项创建,例如在 vscode 中打开文件(或目录或驱动器等) - 如果您想保留此功能,这些都需要更新(在注册表中)。但是,当 vscode 自动更新时,这些似乎都被 reset 了!当 vscode 自动更新时,它“有时”(?!)会在没有 cmdline 开关的情况下重新启动,因此您将使用默认的 extensions-dir 和 user-data-dir!
这可能是 VSCode 的硬编码行为 - 更新后重置所有启动选项,以便最新版本可以在更清洁的环境中启动。但不知道是不是这样
因为我现在两次遇到这个陷阱,请注意便携模式仅适用于 ZIP 包下载,不适用于任何安装程序包。
更新了帖子,除了旧的VSCode版本之外似乎不再相关【参考方案2】:
一个小技巧:
在 Visual Studio Code 安装路径下创建指向文件夹 %USERPROFILE%\.vscode\extensions
的符号链接。
【讨论】:
我希望我的扩展程序位于C:\dev\Microsoft VS Code\extensions
。这就是我所做的:mklink /D %USERPROFILE%\.vscode\extensions "C:\dev\Microsoft VS Code\extensions"
截至 2018 年 4 月,Visual Studio Code 可以在便携模式下运行,但在代码文件夹中添加了一个名为“data”的文件夹。 code.visualstudio.com/docs/editor/portable
请注意:除非您使用的是 Windows 10 build 14972 或更高版本并启用了 开发人员模式,否则必须提升 mklink
命令执行 b>!无论如何,我不认为这种重新定位目录的方法是一种 hack,甚至不是一点点。 ? 主要在 *nix 系统上很常见。【参考方案3】:
https://code.visualstudio.com/docs/editor/extension-gallery
code --extensions-dir 'new_directory_to_set'
设置扩展的根路径。
【讨论】:
仅用于本次执行,而非永久【参考方案4】:按照以下步骤在 VS 中更改扩展路径。
在环境变量中设置“代码”路径。
path = VS_CODE_INSTALL_DIRECTORY/bin;
打开 VS ,在 VS 终端执行以下命令。
安装所需的扩展。code --extensions-dir "new_directory_path"
全部完成。
注意:别忘了给答案投票
【讨论】:
设置环境变量有什么作用?这似乎都是由命令行开关控制的? 它可以用于重复使用扩展而无需重新下载【参考方案5】:根据this page,在安装 VS Code 之后,我们应该像这样创建一个语言分析器文件夹:
mkdir code_profiles
cd code_profiles
mkdir code-ruby
cd code-ruby
mkdir exts
mkdir data
对于 Windows,我为我使用的每种语言准备了一个批处理文件 (.bat
),它包含以下行:
Start "" "D:\programs\VSCode\code.exe" --extensions-dir D:\programs\VSCode\code_profiles\code-python\exts --user-data-dir D:\programs\VSCode\code_profiles\code-python\data .
这是针对 Python 的。如果我在 php 上工作,我将创建 code-php 文件夹,然后在其中创建 exts
和 data
文件夹,并为 PHP 准备另一个批处理文件,就像我为 python 制作的那样。
我将此批处理文件放在主项目文件夹中,然后双击它以使用首选配置文件运行 VS Code。
【讨论】:
以上是关于有没有办法更改 Visual Studio Code 的扩展文件夹位置?的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2016堆积条形图图例:更改标签标题
有没有办法从 Visual Studio Code 调试 Tomcat Java 应用程序
是否可以更改 Visual Studio 2012 中的图标?