vscode 可以不同场景启用不同扩展吗?

2022-07-20 08:41:26 +08:00
 kongkongye

由于 vscode 比较通用,多个不同的场景都会用到,比如开发 python ,lua ,js 等,在不同场景下想使用不同的扩展,比如开发 lua 时启用 lua 那套扩展,其他场景下启用 lua 相关扩展不是浪费内存资源吗,却发现 vscode 的软件设计好像不是这样子的,那如果用的场景多了,岂不是装满了各种扩展,软件里各种图表一堆,每次却只需要用到一小部分。

我想能不能在 docker 里启用 vscode server ,然后 server 端指定一套扩展,vscode 连到哪个 server 就启用哪套扩展,但好像行不通,大家有啥建议吗?

5453 次点击
所在节点    Visual Studio Code
27 条回复
sarices
2022-07-20 08:44:58 +08:00
可以按照工作区禁用扩展
gzyguy
2022-07-20 08:45:39 +08:00
可以控制扩展工作区可用。
Teragion
2022-07-20 08:46:30 +08:00
可以进工作区之后右键单个扩展选择 Enable/Disable (Workspace)
liuzhaowei55
2022-07-20 08:46:39 +08:00
拓展可以直接安装到指定工作区或者项目中
kongkongye
2022-07-20 09:03:14 +08:00
@Teragion 这个工作区禁用启用扩展功能我是知道的,但这样实际操作起来还是挺麻烦的。
Teragion
2022-07-20 09:04:35 +08:00
@kongkongye 为什么麻烦?这个设置应该是永久保存到工作区的,新项目处理一次就可以了。还是说你想不同终端连到 server 自动设置?
kongkongye
2022-07-20 09:05:32 +08:00
我都恨不得本地装多个 vscode ,一个改名叫 vscode-js ,一个改名叫 vscode-python ,不同的 vscode 点开就是不同的扩展集,这样一个 vscode 我可以当作不同的 ide 来用,而不是所有扩展都装一个 ide 里面。
ragnaroks
2022-07-20 09:07:22 +08:00
这种需求可以用多个容器实例来解决,不同的环境装不同的插件
houshengzi
2022-07-20 09:07:59 +08:00
我用 Extension Manager 创建自己的扩展包,不同开发语言切换不同的扩展包
MengiNo
2022-07-20 09:11:17 +08:00
@kongkongye 既然可以使用容器,建议每个项目建立一个容器。等于全部在容器内开发,插件装在容器内跟着容器走。这样可以通过 devcontainer.json 文件控制各个容器内装不同的扩展,也方便迁移。
kongkongye
2022-07-20 09:11:39 +08:00
@houshengzi 这个扩展用的人好少,是你自己开发的?我想要的基本就是这个扩展的功能。如果 vscode 后续官方更新能直接支持这种功能就更好了。
kongkongye
2022-07-20 09:17:17 +08:00
@MengiNo 我试试 docker 这个开发环境功能
houshengzi
2022-07-20 09:23:09 +08:00
@kongkongye 不是我开发的,我也是偶然发现这个扩展。它基本满足我切换不同语言对应扩展包的需求
fpure
2022-07-20 09:28:23 +08:00
我也有同样的需求,希望 vscode 出一个多租户的方案,不是 workspace😂
witherzuo
2022-07-20 09:31:45 +08:00
VS Code 在最新的 Insiders 内部预览版中新增了一个“设置配置”的实验性功能,目前需要在设置中手动打开才能体验,看功能描述应该可以符合你的需求😂

https://code.visualstudio.com/updates/v1_69#_settings-profiles
Sod
2022-07-20 09:34:30 +08:00
根据我粗浅的 VSCode 插件开发经验,插件是有"Activation Events"这个属性的,插件开发的时候可以设置。这个属性的作用就是决定一个插件什么时候激活,只有符合设置的条件,比如打开了 xx 类型文件、处于 xx 视图的时候,对应插件才会激活。并不是你安装了一个插件,每次打开 VSCode ,这个插件就直接激活了,没有激活的插件应该是不占用内存的。

"Activation Events"属性你可以在每个插件详情页的"Feature Contributions"页面拉到底看到,都是写明了的。
changnet
2022-07-20 09:34:56 +08:00
语言相关的,没有打开对应的文件,那个插件是不会激活的。比如你装了一个 lua 插件,通常是需要打开 lua 文件才会激活这个插件的,除非那个插件的作者没写好,直接在打开 vscode 的时候就激活了

不是语言相关的,暂时不知道要怎么弄
CodeCodeStudy
2022-07-20 09:51:44 +08:00
@kongkongye #7 可以修改成 portable 版本的,下载 zip ,在根目录下新建 data 目录即可,可以把可执行文件 Coder.exe 修改其他文件名,这样在任务管理器就可以区分不同的进程了

官方文档

https://code.visualstudio.com/docs/editor/portable
stoluoyu
2022-07-20 09:52:58 +08:00
可以在项目下搞个 .vscode 文件夹试试比如: https://github.com/vueuse/vueuse/tree/main/.vscode
stoluoyu
2022-07-20 10:04:00 +08:00
然后我查了下,找到个插件 https://marketplace.visualstudio.com/items?itemName=ireknazm.vscode-presets 可以保存 workspace 的设置

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/867426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX