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

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 中查看,这里不再多述。

以上。

相关文章:

  • SQL面试题之区间合并问题
  • Linux用户和权限之一
  • 回溯法就是学不会2 —— 括号生成问题
  • ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL演示
  • 信息论学习笔记(二):离散无噪声系统
  • CentOS7启动SSH服务报错
  • 大咖说*计算讲谈社|商用车智能驾驶商业化实践
  • python笔记Ⅶ--函数返回值、作用域与命名空间、递归
  • 03 RocketMQ - Broker 源码分析
  • Java日志系列——规范化日志
  • 00前言说明-Qt自定义控件大全
  • 简历内容整理
  • 金仓数据库KingbaseES客户端编程接口指南-ado.net(7. Kdbnpg支持的类型和类型映射)
  • CTCLoss原理解读
  • 数字孪生|数字孪生装备-概念与内涵
  • [译]CSS 居中(Center)方法大合集
  • Angular数据绑定机制
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • October CMS - 快速入门 9 Images And Galleries
  • Promise初体验
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 新书推荐|Windows黑客编程技术详解
  • 以太坊客户端Geth命令参数详解
  • 走向全栈之MongoDB的使用
  • AI算硅基生命吗,为什么?
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • #Linux(帮助手册)
  • (3)llvm ir转换过程
  • (a /b)*c的值
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .NET 8.0 发布到 IIS
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .netcore如何运行环境安装到Linux服务器
  • .NET中使用Protobuffer 实现序列化和反序列化
  • @ModelAttribute注解使用
  • [acm算法学习] 后缀数组SA
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [C++]指针与结构体
  • [leetcode] 四数之和 M
  • [leetcode]Flatten Binary Tree to Linked List
  • [luoguP2401] 不等数列
  • [Python] Ubuntu12.04LTS
  • [Real world Haskell] 中文翻译:第三章 定义类型,流式函数
  • [SAP] ABAP注释快捷键修改
  • [sqoop] sqoop 小试牛刀
  • [SUCTF 2019]CheckIn1
  • [VulnHub靶机渗透]:billu_b0x 快速通关
  • [Web开发] Web 2.0 网站估价工具