vscode 1.71变化与关注点(多配置预设/旧合并器回归等)
前言
vscode v1.71 已发,这里锐评一些我个人比较 focus 的点。
- Release changelog:August 2022 (version 1.71)
你可以在这里追溯历史 vscode 重要变化:
-
《 vscode 1.70变化与关注点(人工折叠/粘性滚动等) 》
-
《 vscode 1.69变化与关注点(三路合并/终端集成等) 》
-
《 vscode 1.68变化与关注点(整理导入语句/实验性新命令中心等) 》
正文
3 way 合并器不再默认打开
3 way 合并编辑器在 1.69 版本登场,在 1.70 上个版本中被默认启用,可能很多人有 Breaking change 的震惊。早在 1.69 版本的 变化与关注点 中,无论是单独采取某一边后编辑器无反馈,还是合并 lock 文件时的效果都很不尽人意。
所以在 1.71 当前版本,vscode 又取消了默认打开三路编辑器的设定,当发生冲突时,默认显示的是旧版冲突编辑器,如有使用 3 way 的需求,可以点击按钮手动打开:
同时,打开了 3 way 编辑器后,也可以点击右上角的按钮再打开旧版编辑器,两者可以切换、同时运作:
粘性滚动特性正式化
在此版本中,粘性滚动特性正式登场,配置选项发生改变,如需使用,请取消旧配置项,打开新配置项:
// settings.json
{
// "editor.experimental.stickyScroll.enabled": true
"editor.stickyScroll.enabled": true
}
关于更多 粘性滚动 的说明和评测,请查看 v1.70 变化与关注点 > 粘性滚动 。
Settings profiles 实验性启用
多预设功能已经迭代了多个版本,迟迟未正式发布,我们在 v1.69 变化与关注点 > Settings Profiles 中也介绍过,至今也仍是实验性启用。
该功能是带有显著进步性的,将允许把 配置 ( settings )、扩展列表 ( extensions )、布局状态 ( globalState ) 作为 profile 导出,也就是 “预设” ,大家用过 terminal 的应该都很熟悉,由此一来,你便可以:
-
快速分享、备份、迁移你的预设,在多个设备上使用。
-
根据不同工作场景的需要,设定不同的预设,比如在不同语言开发时,他们需要的插件是不同的,每开启一个插件都是额外的成本,所以我们根据 工作场景 的不同,仅仅开启那些必要的插件,由此大大减少资源成本。
这里我们快速学习一下打开方式。
打开 Settings profiles 功能(目前实验性支持)
// settings.json
{
"workbench.experimental.settingsProfiles.enabled": true
}
如何执行预设相关命令(创建一份预设)
通过 cmd + shift + p
输入 profile 关键词来选择你需要的操作:
如何操作预设(切换 / 改变 / 删除 / 导出)
通过点击左下角 profile 按钮来操作预设:
命令行 with 预设
# 新窗口打开 project ,并使用 `profile-name` 这个预设
code ./project --profile "profile-name"
# 新窗口打开 temp-project ,并使用一份关闭窗口即销毁的一次性临时预设
code ./temp-project --profile-temp
导出的预设有哪些内容
一图了解导出的预设都包括了那些内容,如想了解更多,请自行解析导出的文件内容(是一个 JSON 嵌套结构):
由于目前 profile 功能还是实验性支持,我们在后续正式发布时再进一步跟进。
其他关注点
自动补全的匹配模式
目前的自动补全提示策略总是按 输入字符开头 来匹配,但现在新增了一个选项可以让他更 “模糊” 的匹配:
// settings.json
{
// 开启补全列表的 模糊匹配 模式
"editor.suggest.matchOnWordStartOnly": false
}
两者效果对比:
可以看到核心内容并不会改变,多出来的基本都是用不到的 api ,此选项并没有很大的作用。
平滑的终端滚动
开启如下选项可以开启 vscode 内置终端的平滑滚动:
// settings.json
{
"terminal.integrated.smoothScrolling": true
}
不建议开启,因为平滑滚动对 触控板 操作会造成负面效果,将十分难以滚动,造成不必要的 查看延迟 和麻烦。
更好的合并冲突差异算法
可以改善冲突时的 diff 效果,通过如下方式启用:
// settings.json
{
"mergeEditor.diffAlgorithm": "experimental"
}
目前还处于实验性特性,带稳定后我们再跟进。
Edit Sessions 持续工作
该功能我们在 v1.69 变化与关注点 > 跨终端 session 有过简单介绍,目前你可以通过安装 Remote Repositories 插件来尝试跨终端的 持续工作 ,同时你需要配置启用该功能:
// settings.json
{
"workbench.experimental.editSessions.enabled": true
}
此功能将允许你在 VS Code for Web 、安装有 Remote Repositories 插件的本地 vscode 客户端间 持续工作 ,也就是改到一半的文件,在该端退出后,另一端再把仓库拉下来,又会恢复到上一次在其他设备修改到一半的结果。
Markdown 语言服务器全面启用
经过两个版本,Markdown Language Server 终于完整启用,但是经过 .md
文件索引测试,仍然没有显著的性能提升。
Vscode 不再支持 Windows 7
由于 Electron 19 不再支持 win7 ,vscode 也将停止对 win7 的支持,请关注你当前开发的系统环境。
总结
在本次更新中,Settings profiles 作为重点,在多场景开发中有很大的进步性,值得重点尝试与学习;其他内容则都是 尝鲜 性质的,他们对生产效率的影响是很小的,你也可以无视他们。
关于更多特性和细节,请在 v1.71 CHANGELOG 中查看,这里不再多述。
以上。