【vscode-01】vscode不同项目不同语言扩展插件隔离方案

vscode不同项目不同语言扩展插件隔离方案

  • [1. 背景](#1. 背景)
  • [2. vscode 扩展插件隔离方案](#2. vscode 扩展插件隔离方案)
    • [2.1 code-profile 配置文件](#2.1 code-profile 配置文件)
    • [2.2 配合extensions.json](#2.2 配合extensions.json)

1. 背景

最近打开vscode 发现越来越卡,这是一个轻量级代码编辑器,怎么会如此占用内存呢?

我使用了'code --list-extensions'命令,发现我的电脑中已经安装了五六十个扩展插件。

bash 复制代码
code --list-extensions

让这个轻量级的"选手"变成了一个臃肿的胖子。并且很多插件之间互相干涉,导致"小巧"的vs code 变成了"臃肿"的"Visual Studio"code,这让我大为所经。常年月累,安装了太多太多的插件,但是这个插件又不是在所有的项目中都需要,我就在想:有没有一个很好的方案,让我在每个项目中使用指定的插件,而不是启动所有的插件。

2. vscode 扩展插件隔离方案

我在网上找了很多方法,都无法有效的解决这个问题。广大网友的方案都是用'workspace' 工作区隔离。我就尝试了使用.code-workspace来实现隔离方案,但是我发现,通过.code-workspace.json,只能推荐使用某些插件,无法屏蔽禁用不需要的插件,那怎么办呢?

2.1 code-profile 配置文件

先来看看工作区域配置文件的差异吧

​维度 ​工作区(Workspace)​ ​Profile
​配置层级 项目级(基于 .code-workspace 文件) 环境级(全局或用户级,包含插件/设置/快捷键等)
​核心功能 管理多个项目文件夹的编辑器配置(如代码规范、任务) 完全隔离的独立开发环境(插件、UI 主题、代码片段)
​插件管理 共享全局插件,仅可推荐安装(.extensions.json) 独立插件列表,不同 Profile 的插件完全隔离
​适用场景 多项目协作(如前端+后端联调) 多技术栈开发(如 Python + C++ 并行)
​同步与迁移 通过 Git 共享 .vscode 目录 支持导出 .code-profile 文件或 GitHub Gist

创建一个新的code-profile,可以给你一个新的vscode,这不就是"小巧"的vscode回归吗?

看看效果:

默认50+插件的界面,界面杂乱无序,启动和运行卡顿

新的profile 配置,发现是一个很干净的环境,如"白月光"一样的新vscode,这样就很"轻巧"了。

2.2 配合extensions.json

我们得到了一个新的vscode 配置,但是安装接插件又很麻烦,需要一个一个去安装,这样太复杂了。

这样就引入了extensions.json,将所有需要安装的接插件写入这个json中

json 复制代码
{
  "recommendations": [
    "yzhang.markdown-all-in-one",
    "ms-dotnettools.csharp",
    "ms-dotnettools.vscode-dotnet-runtime",
    "adamanand.adamstool"
  ]
}

然后启动vscode就会弹出推荐安装

如果没有提示,就执行命令板Ctrl+Shift+P Extensions: Install Recommended Extensions

然后我们就可以在插件市场看到在extensions.json 配置的插件,没有其他插件干扰,点击安装就可以

这样就实现了在不同的项目中 ,通过code-profile+extensions.json实现插件隔离,还你一个"小而美"的轻量级IDE。

我觉得这种方法比code-workspace更好的地方在于,不同的项目使用不同的开发语言,冲根本上实现了隔离,让IDE保持清爽的界面,让我们更愉快的开发代码。

相关推荐
Rabitebla12 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
威嵌神州13 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
坤坤子吖16 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
少司府18 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly12345619 小时前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
YLCHUP20 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
FungLeo1 天前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
简单电磁炮1 天前
FWD八位单片机调试问题
单片机·嵌入式硬件
旖旎夜光1 天前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
shimly1234561 天前
(done) 嵌入式硬件电路图 (6) 重要的元器件特性之MOS管
嵌入式硬件