欢迎使用 visual studio code 2023 年 5 月版。我们希望您会喜欢此版本中的许多更新,其中一些主要亮点包括:
只读模式 - 将工作区中的特定文件和文件夹标记为只读。
“粘贴为”选项 - 选择您希望如何将项目链接粘贴到编辑器中。
外部文件的自动复制 - 拖动或粘贴到 markdown 将新文件添加到您的工作区。
默认 git 存储库分支名称 - 使用“main”作为默认值或通过用户设置覆盖。
notebooks 丰富的内容搜索 - 基于 notebook 输出或单元格类型过滤的搜索。
jsx 标签的链接编辑 - 同时更改打开和关闭 jsx 标签。
预览:github copilot 聊天改进 - 轻松管理您的聊天会话历史记录。在线聊天“实时预览”。
只读模式 在某些开发场景中,将工作区的某些文件夹或文件显式标记为只读会很有帮助。例如,如果文件夹或文件内容由不同的进程管理(例如 node_modules 文件夹由 node.js 包管理器管理),将它们标记为只读可以避免无意更改。
对于此用例,有新设置可在资源管理器以及文本和笔记本编辑器中将文件路径标记为只读:
files.readonlyinclude - 匹配时使文件只读的路径或 glob 模式。
files.readonlyexclude - 当文件与 files.readonlyinclude 匹配时,用于跳过只读文件的路径或 glob 模式。
files.readonlyfrompermissions - 在磁盘上没有写权限的文件是否应该是只读的。
根据设置规则,如果一个路径被认为是只读的,您不能从资源管理器修改它(例如,删除它)并且文本或笔记本编辑器是只读的。
对于只读模式的更多临时切换,有一些新命令可以仅更改当前会话的模式,从而覆盖您的设置配置:
在会话中将活动编辑器设置为只读 - 将活动编辑器标记为只读。
set active editor writeable insession - 将活动编辑器标记为可写。
toggle active editor readonlyin session - 在只读和可写之间切换。
在会话中重置活动编辑器只读 - 重置会话状态。
粘贴为 将文件粘贴到文本编辑器时,您可能希望通过多种方式插入它。您可能需要指向文件的绝对路径。您可能需要一个相对于当前工作区的路径。或者您甚至可能想要特定于当前编辑器语言的内容,例如在粘贴到 markdown 时插入指向文件的 markdown 链接。vs code 的新 “粘贴为” 功能使您可以控制粘贴内容的插入方式。
粘贴后,如果有其他方式可以插入粘贴的内容,vs code 现在会显示一个小的“粘贴为”控件:
您可以通过单击或使用 ctrl+ 打开“粘贴为”控件。一旦您开始键入或将光标移到插入的文本之外,粘贴选择器就会消失。您还可以使用editor.pasteas.showpasteselector: never 完全禁用放置选择器控件。
例如,当您将内容粘贴到笔记本中的 markdown 单元格中时,“粘贴为”控件可让您在以下内容之间切换:
插入图像作为附件
插入 markdown 图像参考
插入相对路径(对于工作区中的文件)
插入绝对路径
如果您更喜欢在实际粘贴之前选择如何粘贴剪贴板中的内容,您可以改用新的“粘贴为...”命令。这让您可以选择内容的粘贴方式:
将外部媒体文件复制到 markdown 的拖放或粘贴工作区 想在 markdown 文档中添加图片或视频?与其浪费时间先手动将文件复制到您的工作区,然后添加指向它的链接,现在您只需将文件拖放到或粘贴到您的 markdown 中即可。如果该文件当前不是工作区的一部分,vs code 会自动将该文件复制到您的工作区并插入指向它的链接:
这也适用于剪贴板中的图像数据。例如,如果你在 windows 上使用截图工具截取屏幕截图,你可以在 markdown 文件中按粘贴,vs code 将从剪贴板数据创建一个新的图像文件,并将 markdown 图像链接插入到新文件中。如果您在截取屏幕截图时按住 ctrl 键将其复制到剪贴板,这也适用于 macos。
您还可以使用一些设置自定义此功能的行为:
▍markdown.copyfiles.destinationmarkdown.copyfiles.destination 设置控制创建新媒体文件的位置。此设置将匹配当前 markdown 文档的 glob 映射到图像目标。图像目的地也可以使用一些简单的变量。
例如,如果我们希望我们工作区中 /docs 下的每个 markdown 文件都将新的媒体文件放入特定于当前文件的图像目录中,我们可以这样写:
markdown.copyfiles.destination: { /docs/**/*: images/${documentbasename}/} 现在,当在 /docs/api/readme.md 中粘贴新文件时,将在 /docs/api/images/readme/image.png 中创建图像文件。
您甚至可以使用简单的正则表达式以类似于片段的方式转换变量。例如,此转换在创建媒体文件时仅使用文档文件名的第一个字母:
markdown.copyfiles.destination: { /docs/**/*: images/${documentbasename/(.).*/$1/}/} 将新文件粘贴到 /docs/api/readme.md 时,现在会在 /docs/api/images/r/image.png 下创建图像。
▍markdown.copyfiles.overwritebehaviormarkdown.copyfiles.overwritebehavior 设置控制新创建的媒体文件是否覆盖现有文件。
默认情况下,vs code 永远不会覆盖现有文件。相反,如果您有一个名为 image.png 的文件并尝试将其粘贴到已存在 image.png 的工作区中的 markdown 文档中,vs code 将创建一个名为 image-1.png 的新文件。如果您随后尝试粘贴另一个名为 image.png 的文件,它将被创建为 image-2.png。
如果您希望现有文件被新文件覆盖,请设置 markdown.copyfiles.overwritebehavior:overwrite。现在 vs code 将始终使用原始文件名,覆盖该路径下的任何现有文件。
▍禁止将文件复制到工作区如果文件还不是工作区的一部分,vs code 只会尝试将文件复制到您的工作区中。此外,我们目前仅将媒体文件(图像、视频、音频)复制到工作区中。
但是,如果您发现这种新行为过于干扰,您可以通过设置禁用它的拖放和粘贴:
markdown.editor.drop.copyintoworkspace: nevermarkdown.editor.filepaste.copyintoworkspace: never
默认分支名称 从这个里程碑开始,所有使用 vs code 创建的新 git 存储库都将 main 设置为其默认分支。如果您喜欢默认分支的不同名称,您可以使用 git.defaultbranchname 设置更改它。当该设置为空时,vs code 遵从 git 中配置的默认分支名称。将文件夹发布到 github 也会遵循 github 上配置的默认分支名称。
丰富的内容搜索 您现在可以从搜索控件中搜索打开的笔记本中的丰富内容。如果您的笔记本已打开,搜索控件会根据它在笔记本编辑器中的显示方式显示结果(而不是搜索原始源文件的内容)。这也允许替换笔记本输入中的文本。
使用新的笔记本搜索开关,您还可以过滤要搜索的单元格内容类型。
jsx 标签的链接编辑 通过链接编辑,当您更改开始 jsx 标签时,vs code 将自动更新相应的结束标签。这可以节省很多时间:
该功能默认关闭,但可以通过设置启用:
editor.linkedediting: true
您还可以使用“开始链接编辑”命令明确开始链接编辑。
github copilot 注意:要访问聊天视图和内联聊天,您需要注册 github copilot 聊天候补名单。
注册 github copilot 聊天候补名单:
https://github.com/login?return_to=https%3a%2f%2fgithub.com%2fgithub-copilot%2fchat_waitlist_signup%2fjoin
▍在稳定版 vs 代码中使用 copilot chat 以前,您必须使用 vs code insiders 才能使用 copilot chat。从 vs code 1.79 开始,您也可以在稳定的 vs code 中使用 copilot chat。您仍然需要安装 github copilot nightly 扩展。
▍编辑聊天我们改进了编辑器聊天,最值得注意的是我们将其默认模式更改为“livepreview”。在这种模式下,更改直接应用于文档并显示为嵌入式差异视图。让我们看下面的例子:
向 iuserfriendlystatusitementry 类型添加了一个新属性。
copilot 相应地更新了 isuserfriendlystatusitementry 检查。
回复使用嵌入式差异视图显示在编辑器中。它的右侧可以通过 vs code 的语言扩展进行编辑和检查。
这可以让您发现回复中的错误(下面的 ismarkdownstring 函数不存在),您可以在接受建议之前修复它。
▍删除聊天条目您现在可以通过单击聊天请求中的 x 图标来删除聊天请求/响应。
有时,copilot 会提供偏离主题或不正确的响应。您可以再次提问,但从您会话的聊天记录中删除不良回复也可能有助于保持对话正常进行。每个聊天请求中可以包含的上下文数量也有限制,因此删除长时间的糟糕响应可能有助于节省上下文预算以获取更有用的信息。
▍将聊天会话从侧边栏移动到编辑器已经可以通过运行聊天:打开编辑器命令在编辑器中打开聊天会话,但现在也可以在侧边栏和编辑器之间来回移动聊天会话。您可以在聊天视图标题或编辑器标题菜单中的“...”菜单下找到“在编辑器中打开会话”和“在侧边栏中打开会话”命令。
▍聊天会话历史 您的聊天会话现在已保存到历史记录中,您可以通过选择聊天视图标题菜单中的“显示历史记录”按钮来浏览这些历史记录。您可以选择一个历史记录条目以将该对话加载到聊天编辑器中,然后从您中断的地方无缝地继续。您可以通过单击每行上的 x 按钮从历史记录中删除会话。
▍将聊天会话导出到 json 文件 我们添加了一个命令 chat: export session,它将当前聚焦的聊天会话导出到 json 文件。然后您可以运行 chat: import session 命令来导入此会话并继续您的对话。您可以将此文件上传到您的存储库,与他人共享,或者只是保存您的对话以供日后参考。请注意,当您在导入的聊天会话中继续对话时,除非您再次导出会话,否则不会保存这些新消息。
目前的语音识别技术发展到了什么程度
TE Connectivity | 和我们一起以更轻盈的姿态“飞”入“双碳”
燃气灶电子打火与脉冲打火的区别?
变压器安全性指标研究
蓄电池的正确使用和维护措施
Visual Studio Code 1.79 发布!
苹果发布新品AirPods Max,代工厂歌尔大涨7%
为无线模块选择天线的三大关键
超实用,如何亲自动手制作HDMI线?
[组图]RC振荡电路的几种接法
高空虫情测报灯是什么,它的功能特点是什么
最大化物联网节点容量窄频低功耗网路协定受瞩目
ROHM确立非易失性逻辑IC技术的可靠性,已进行批量生产
TXGA 耳机插座,为各类影音播放设备实现更持久稳定的高质量音频信号传输
realme 5 Pro可能将于9月4日发布该机后置四摄像头搭载骁龙712平台
高通在日本实现全球首个5G Sub-6GHz载波聚合的商用
自制空调器外机停机指示器
GD32 MCU在家电行业的全面智能化升级中的作用表现
一文详解CMOS模拟开关
中兴Blade A7重新定义百元机