当前位置: 首页 > article >正文

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

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

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

1. 背景

最近打开vscode 发现越来越卡,这是一个轻量级代码编辑器,怎么会如此占用内存呢?
我使用了‘code --list-extensions’命令,发现我的电脑中已经安装了五六十个扩展插件。

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回归吗?
|800

看看效果:
默认50+插件的界面,界面杂乱无序,启动和运行卡顿
|800

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

2.2 配合extensions.json

我们得到了一个新的vscode 配置,但是安装接插件又很麻烦,需要一个一个去安装,这样太复杂了。
这样就引入了extensions.json,将所有需要安装的接插件写入这个json中

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

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

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

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

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

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


http://www.kler.cn/a/584757.html

相关文章:

  • Mermaid 子图 + 拖拽缩放:让流程图支持无限细节展示
  • 边缘计算(Edge Computing)
  • 伽马函数相关知识点及其与概率论知识的结合
  • WPF 制作机械手动画
  • 个性化音乐推荐系统
  • 面向联邦学习隐私保护的同态加密库优化算法研究
  • tcpdump 基础参数解析与简单示例
  • 【每日学点HarmonyOS Next知识】页面引用问题、Json三方库、路由表使用、下拉刷新问题、视频播放错误
  • 【QT】-解析打包json
  • 并行计算编程模型的发展方向与RISC-V的机遇
  • BUG修复 | 一次钉钉工作台应用远程调试实战(开发者工具)
  • laravel项目中使用FFMPeg 剪裁视频
  • Pytortch深度学习网络框架库 torch.no_grad方法 核心原理与使用场景
  • 重生之我在学Vue--第11天 Vue 3 高级特性
  • 版本控制泄露源码 .git
  • Vue.js 3 的设计思路:从声明式UI到高效渲染机制
  • LINUX 指令大全
  • ES6 Class 转 ES5 实现
  • 基于JSP和SQL的CD销售管理系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 基于深度学习的多模态人脸情绪识别研究与实现(视频+图像+语音)