有没有办法仅在工作区内安装 vs-code 扩展?

有没有办法仅在工作区内安装 vs-code 扩展?

我刚刚开始学习 Angular 课程,在学习期间,我想我还会安装一些基本的扩展,以便更轻松地使用这个 Web 开发工作区。

由于我用设置同步这些扩展立即上传到我的设置要点。但问题是我不想在我的所有其他工作区上使用这些 Web 开发设置/扩展。

禁用所有其他工作区内添加的扩展非常耗时,所以我想知道是否可以仅在工作区内安装特定的扩展?

在本地设置同步中有一个忽略扩展的选项,但这只有在安装后才有意义,因为在安装带有多个扩展的扩展包时,从一开始扩展名是什么就不是很清楚。这样做甚至可能很乏味,因为某些扩展还会更改 settings.json,然后将其上传,即使这些设置不应该在没有这些扩展的工作区内。

换句话说,它的扩展性非常荒谬,而且在我看来仅为这个工作区安装才有意义。

问题是关于仅为该工作区安装扩展的简单方法,因为它们只需要在那里。

答案1

扩展安装可以使用不同的目录来存储扩展。由于 VSCode 是使用Electron 框架(NodeJS + Chromium V8 引擎)所有基于 Electron 的应用程序以及 Chromium 中的命令行选项都相同。这里我们使用这两个命令行选项。根据VSCode 文档

 Options                 Description

--extensions-dir <dir>   Set the root path for extensions.
--user-data-dir  <dir>    Specifies the directory that user data is kept in, useful when running as root.

使用这两个命令行选项,我们可以分离用户数据(设置、首选项、打开的文件等)和扩展安装文件夹。如果文件夹不存在,则运行以下命令后会自动创建。此处的文件夹路径仅供参考。您可以根据需要更改这些路径。

  • 对于 Windows:

    • 正常工作空间:

    code.exe --extensions-dir "D:\CodeProfile\Normal\exts" --user-data-dir "D:\CodeProfile\Normal\data"

    • 角度工作区:

    code.exe --extensions-dir "D:\CodeProfile\Angular\exts" --user-data-dir "D:\CodeProfile\Angular\data"

  • 对于类 UNIX 操作系统:

    • 正常工作空间:

    code --extensions-dir "~/CodeProfile/Normal/exts" --user-data-dir "~/CodeProfile/Normal/data"

    • 角度工作区:

    code --extensions-dir "~/CodeProfile/Angular/exts" --user-data-dir "~/CodeProfile/Angular/data"

可选地,使用这些命令行选项创建桌面快捷方式以跳过使用终端或控制台。此外,您可能必须配置“设置同步”扩展以相应地使用这些路径。

进一步阅读

答案2

自 2020 年 6 月起,您似乎可以全局禁用扩展,然后为工作区明确启用它。我已经开始在 JS/TS、Rails、Java 和 Scala 工作区中执行此操作,效果似乎不错。

去做这个:

  1. 在扩展侧栏上,选择扩展,然后选择“禁用”按钮。这将禁用所有工作区的扩展。
  2. 然后选择“启用(工作区)”为当前工作区启用它。

答案3

我一直在寻找一种方法来实现这一点,现在我终于找到了一个可以实现它的扩展!我找到的扩展允许您创建和管理 VsCode 的配置文件,在每个配置文件中,您可以进行完全隔离的配置,配置字体、大小、间距、扩展等。例如,我设置了一些配置文件,当打开 Web Php 项目时,我可以切换到“Web Php”配置文件,当用 C 进行大学活动时,我切换到“C”配置文件。

https://github.com/aaronpowell/vscode-profile-switcher#extensions

相关内容