微软发布 VS Code 1.51,改进了固定选项卡等
11分钟读
更新
阅读我们的披露页面,了解如何帮助 MSPoweruser 维持编辑团队 查看更多
微软今天宣布发布 Visual Studio Code v1.51(2020 年 XNUMX 月更新),其中包含多项改进和错误修复。 这个新更新现在带有可调整大小的 IntelliSense 建议框、持久远程终端会话、改进的固定选项卡等。 在下面找到 Microsoft 提供的完整更改日志。
工作台#
更突出的固定标签#
固定标签现在将始终显示其固定图标,即使在不活动时也是如此,以使它们更容易识别。 如果编辑器既已固定又包含未保存的更改,则图标会反映这两种状态。
扩展树使用自定义悬停#
我们现在使用自定义悬停,而不是在扩展树视图中使用本机工具提示,该悬停是一致的跨平台并且更适合整体 UX。
在不同步的情况下安装扩展#
您现在可以在启用设置同步的情况下安装扩展而不同步它。
主题: GitHub 灯
从资源管理器安装扩展#
VS Code 现在支持从资源管理器安装扩展 VSIX 文件,方法是右键单击 VSIX 文件并选择 安装扩展 VSIX 上下文菜单项。
输入模糊命令#
一个新的内部
workbench.action.blur
现在可以使用命令,它可以从任何可聚焦的输入中移除焦点。 您可以在 键盘快捷键首选项.综合终端#
本地回声#
在终端中进行修改传统上需要将信息发送到终端进程、处理并返回到 VS Code 才能受到影响。 当处理与 SSH服务器 or 代码空间.
此版本为终端添加了“本地回显”模式,该模式尝试预测本地所做的修改和光标移动,并在 UI 中显示它们,而无需往返服务器。 默认情况下,预测字符显示为“变暗”:
您可以使用两种设置来配置它:
terminal.integrated.localEchoLatencyThreshold
配置检测到的延迟阈值,以毫秒为单位,本地回声将在该阈值时激活。 这可以设置为0
一直打开该功能,或-1
禁用它。 默认为30
.terminal.integrated.localEchoStyle
配置本地字符的样式或颜色,默认为dim
.智能感知#
可调整大小的建议#
在这个里程碑中,我们对建议 UI 进行了多项改进。 首先,它现在可以调整大小。 拖动边或角来调整控件的大小。
主题: GitHub 灯, 字体:FiraCode
建议列表的大小将跨会话保存和恢复。 详细信息窗格的大小仅在每个会话中保存,因为该大小往往更具可变性。 此外,该
editor.suggest.maxVisibleSuggestions
设置已过时。建议的状态栏#
建议控件现在也可以在窗口底部显示自己的状态栏。 使用
editor.suggest.showStatusBar
环境。 它使切换细节更简单,并显示完成是否支持插入、替换或两者兼而有之。主题: GitHub 灯, 字体:FiraCode
在上面的示例中,选择“插入”会导致
Math.floorceil
并选择“替换”导致Math.floor
.新的
editor.suggest.insertMode
设置允许您配置您喜欢插入还是替换。 当建议同时支持两者时,您的偏好将是默认设置。移动光标以选择建议#
最后但同样重要的是,您现在可以在显示建议时移动光标。 例如,您可以在单词末尾触发建议,向左移动以查看更多建议,然后使用替换来覆盖该单词。
主题: GitHub 灯
蚂蚁#
Emmet 中的自定义片段又回来了。 此外,片段现在会在保存片段文件或更新
emmet.extensionsPath
设置。源代码控制#
Source Control 输入框保存提交消息历史#
这解决了一个 功能要求 导航 SCM 提交历史。 按 Up 和 Down 分别显示前一个和下一个提交。 要直接移动到输入框的第一个和最后一个位置,请按 其他 与相应的箭头键一起使用。
Git:子菜单中的标记命令#
标签相关的 Git 命令已添加到 ... Git 菜单。
Git:变基命令#
一个新的 Git:变基分支… 添加了命令,可让您使用 UI 重新定位分支。
Git:递归克隆命令#
随着 Git:克隆(递归) 命令,您现在可以递归地克隆 Git 存储库,包括其嵌套的 Git 子模块。
时间轴:表情符号简码渲染#
我们现在渲染表情符号简码,例如
:smile:
, 在时间轴视图中。语言#
Markdown 智能选择#
使用以下新命令扩展和缩小 Markdown 文档中的选择:
- 扩大: Shift+Alt+右
- 收缩: Shift+Alt+左
选择适用于以下内容,并遵循传统的分层模式:
- 头
- 书单
- 块引号
- 围栏代码块
- html代码块
- 段
JavaScript 和 TypeScript 的空大括号格式选项#
新的
javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
和typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
格式化配置选项控制是否在空括号之间插入空格。 这些设置的默认值为 true。 例如,对于 JavaScript:class Foo { doFoo() {} }
设置
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
并格式化代码导致:class Foo { doFoo() {} // Notice that the space has been removed }
浏览器支持#
下载文件夹(Edge、Chrome)#
利用新的 文件系统访问 API,在浏览器中运行的 Microsoft VS Code 现在可以为文件资源管理器中的文件夹提供下载操作,以将所有文件和文件夹下载到磁盘。
请注意: 这需要最新版本的 Microsoft Edge 或 Google Chrome。
打开工作区通知#
如果您打开一个文件夹,其中包含
.code-workspace
文件位于顶层,您现在会看到一条通知,要求您打开它。 这在 Microsoft VS Code 桌面版中总是如此,现在也可以在浏览器中使用。防止意外关闭#
新设定
window.confirmBeforeClose
添加以在关闭或离开工作台之前显示确认对话框。可能的值为:
keyboardOnly
仅当您使用键绑定关闭时才会显示确认(例如, Ctrl + W)。 (默认)always
:确认对话框将始终显示,即使您从鼠标手势关闭。never
: 永远不会显示确认信息。备注: 此设置可能无法涵盖所有情况。 浏览器可能仍会决定关闭选项卡或窗口而无需确认。
对扩展的贡献#
GitHub 拉取请求和问题#
工作仍在继续 GitHub 拉取请求和问题 扩展,它允许您处理、创建和管理拉取请求和问题。
要了解所有新功能和更新,您可以查看完整的 0.22.0 的变更日志 扩展的发布。
远程开发#
工作仍在继续 远程开发扩展,它允许您使用容器、远程机器或 Linux的Windows子系统 (WSL) 作为功能齐全的开发环境。
1.51 中的功能亮点包括:
- 能够持久/重新连接到终端会话。
- 改进的端口转发体验。
您可以在 远程开发发行说明.
预览功能#
预览功能尚未准备好发布,但功能足以使用。 我们欢迎您在开发过程中提供早期反馈。
设置同步#
设置同步现在同步扩展的全局状态。 扩展必须提供状态以使用新引入的同步 setKeysForSync API。
记住代理凭据#
我们正在彻底检查登录对话框,该对话框显示网络连接何时需要使用代理进行身份验证。 新设定,
window.enableExperimentalProxyLoginDialog: true
,将启用我们计划在未来版本中默认设置的新体验。主题: GitHub 灯
该对话框将出现在 Microsoft VS Code 窗口中,并提供一种记住凭据的方法,这样您就不必在每次启动 VS Code 时都提供它们。 凭据将存储在操作系统标准凭据存储中(macOS 上的钥匙串、Windows 上的 Windows 凭据管理器和 Linux 上的 gnome 密钥环)。
我们仍然在每个会话中只显示一次此对话框,但将来可能会重新考虑此决定。 如果您选择记住的凭据无效,您将再次看到该对话框。 再次提供它们允许您更改它们。
请启用此选项,并通过我们的 问题追踪器.
TypeScript 4.1 测试版支持#
Microsoft VS Code 支持 TypeScript 4.1 测试版 和夜间构建。 4.1 更新带来了一些新的 TypeScript 语言特性,例如支持 递归条件类型,以及工具改进。 一个重点领域是 添加初始支持
@see
JSDoc 注释中的标签。要开始使用 TypeScript 4.1 nightly build,只需安装 TypeScript Nightly 扩展. 如果您遇到 TypeScript 4.1 的任何错误,请分享反馈并告诉我们。
扩展创作#
更新的扩展示例#
我们更新了一些我们的 扩展样本 包括与我们的颜色主题标记挂钩的 Microsoft VS Code 默认样式。 这意味着通用元素(文本、按钮、输入)将是可主题化的,并且与产品中的默认样式相匹配。 以下是包含此内容的扩展:
树木中的 Codicon 颜色#
随着项目的最终确定
ThemeIcon
颜色 API, 扩展作者可以在自定义树视图中的 codicons 上使用主题颜色。同步全局状态#
扩展现在可以通过提供键来同步它们的全局状态,当启用设置同步时,它们的值应该同步,使用新引入的
setKeysForSync
API在globalState
纪念。/** * Set the keys whose values should be synchronized across devices when synchronizing user-data * like configuration, extensions, and mementos. * * Note that this function defines the whole set of keys whose values are synchronized: * - calling it with an empty array stops synchronization for this memento * - calling it with a non-empty array replaces all keys whose values are synchronized * * For any given set of keys this function needs to be called only once but there is no harm in * repeatedly calling it. * * @param keys The set of keys whose values are synced. */ setKeysForSync(keys: string[]): void;
评论线程回复按钮可见性#
评论 扩展现在可以使用新属性控制评论线程中回复按钮的可见性,
CommentThread#canReply
. 当它设置为false
,用户将不会在评论线程中看到回复按钮或评论框。提议的扩展 API#
每个里程碑都带有新的提议 API,扩展作者可以试用它们。 一如既往,我们希望得到您的反馈。 这是您尝试提议的 API 所必须做的:
- 您必须使用 Insiders,因为提议的 API 经常更改。
- 您必须在此行中
package.json
你的扩展文件:"enableProposedApi": true
.- 复制最新版本的
vscode.proposed.d.ts
文件到项目的源位置。您不能发布使用建议 API 的扩展。 下一个版本中可能会有重大更改,我们永远不想破坏现有的扩展。
折叠范围提供者更改事件#
折叠范围提供者可以向编辑器发出信号,需要使用
onDidChangeFoldingRanges
事件。有关更多详细信息并提供反馈,请使用 问题#108929.
密码 API#
作为继续工作的一部分 身份验证提供程序,我们引入了用于存储和检索敏感信息的 API。 在内部,这充当了 键塔 VS Code 用于存储机密的库。
/** * Retrieve a password that was stored with key. Returns undefined if there * is no password matching that key. * @param key The key the password was stored under. */ export function getPassword(key: string): Thenable<string | undefined>; /** * Store a password under a given key. * @param key The key to store the password under * @param value The password */ export function setPassword(key: string, value: string): Thenable<void>; /** * Remove a password from storage. * @param key The key the password was stored under. */ export function deletePassword(key: string): Thenable<void>; /** * Fires when a password is set or deleted. */ export const onDidChangePassword: Event<void>;
工程师#
使 Microsoft VS Code 受信任类型兼容#
我们继续努力使 VS Code 符合“可信类型”。 目标是防止基于 DOM 的跨站点脚本漏洞。 您可以在 web.dev 了解有关受信任类型的更多信息 可信类型站点 并关注我们的进展 问题#103699.
Sumber: 微软