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

【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保持清爽的界面,让我们更愉快的开发代码。

相关文章:

  • 智算新纪元,腾讯云HAI-CPU助力法律援助
  • 提升工地安全:视觉分析助力挖掘机作业监控
  • 夜莺监控 v8.0 新版通知规则 | 对接企微告警
  • 前端面试:如何实现预览 PDF 文件?
  • PostgreSQL 日常SQL语句查询记录--空间查询
  • 单体架构、微服务组件与解决方案
  • 开VR大空间体验馆,如何最低成本获取最大收入?
  • RabbitMQ 实现原理及流程
  • 多线程--参数传递之间的关系
  • react和vue 基础使用对比
  • Docker文件夹上传秘籍Windows下的高效传输之道
  • hcia华为路由器静态路由实验配置
  • 泰山派开发之—Ubuntu24.04下Linux开发环境搭建
  • 如何使用GuzzleHttp库:详细教程与代码示例
  • android 调用wps打开文档并感知保存事件
  • 【RabbitMQ】rabbitmq在spring boot中的使用
  • 回调函数qsort①冒泡排序数组
  • 如何在Futter开发中做性能优化?
  • 个人居家 Web移动端 局域网 远程控制电脑 工具 PC遥控器拿去玩吧
  • Leetcode 刷题笔记1 动态规划part10
  • 俄乌谈判开始
  • “走进书适圈”:一周城市生活
  • 英国6月初将公布对华关系的审计报告,外交部:望英方树立正确政策导向
  • 娃哈哈:自4月起已终止与今麦郎的委托代工关系,未来将坚持自有生产模式
  • 马上评|这种“维权”已经不算薅羊毛,涉嫌犯罪了
  • 体坛联播|博洛尼亚时隔51年再夺意杯,皇马逆转马洛卡