VS Code:你不需要那个扩展
日语翻译(日本语)。
最近我深入研究了 VS Code,发现了一些有趣的东西。它有不少功能和设置,可以完美地完成许多流行扩展的功能。
1.自动重命名HTML标签
通过一次编辑重命名 HTML 标签对。
1.1. 扩展
- 自动重命名标签(下载次数:330 万):“自动重命名配对的 HTML/XML 标签,与 Visual Studio IDE 相同。”
1.2. 设置
Editor: Linked Editing
:控制编辑器是否启用链接编辑。根据语言的不同,相关符号(例如 HTML 标签)会在编辑时更新。默认值为false
。
更新 09/01/21 -
editor.renameOnType
已弃用并由 取代editor.linkedEditing
。
目前,自动重命名功能仅支持 HTML 文件。JSX文件添加此功能尚有待解决。
Vetur 扩展有一个长期存在的问题需要添加。
1.2.1. 设置.json
"editor.linkedEditing": true
2. 自动关闭 HTML 标签
当您添加新的 HTML 标签时,会自动添加结束标签。
2.3. 扩展
- 自动关闭标签(310 万次下载):“自动添加 HTML/XML 关闭标签,与 Visual Studio IDE 或 Sublime Text 相同。”
- 关闭 HTML/XML 标签:“快速关闭最后打开的 HTML/XML 标签。”
2.4. 设置
HTML: Auto Closing Tags
:默认为true
。JavaScript: Auto Closing Tags
:“启用/禁用 JSX 标签的自动关闭。需要在工作区中使用 TypeScript 3.0 或更新版本”。默认值为true
。TypeScript: Auto Closing Tags
:“启用/禁用 JSX 标签的自动关闭。需要在工作区中使用 TypeScript 3.0 或更新版本”。默认值为true
。
2.4.2. 设置.json
"html.autoClosingTags": true,
"javascript.autoClosingTags": true,
"typescript.autoClosingTags": true
3.同步设置
VS Code 现在支持跨不同机器同步 VS Code 设置,此功能自v1.48 (2020 年 7 月发布)起可供预览。
我目前正在尝试,它看起来不错。
3.5. 扩展
- 设置同步(180 万次下载):将您的设置、按键绑定、代码片段、扩展和启动文件同步到 GitHub Gist。
3.6. 功能和设置
您可以在用户指南中阅读有关此功能的所有信息。以下是设置的外观。
您可以使用 Microsoft 或 GitHub 帐户,然后选择您想要同步的内容。
4. 自动导入模块
管理 JavaScript 和 TypeScript 模块的导入可能会很麻烦,尤其是当您想要重新组织项目或重构代码时。如果可能的话,最好实现自动化!
4.7. 扩展
- 自动导入(下载量:110 万):自动查找、解析所有可用导入,并提供代码操作和代码补全功能。兼容 Typescript 和 TSX。
- 移动 TS - 移动 TypeScript 文件并更新相对导入(308K 下载次数):支持移动 TypeScript 文件并更新工作区内的相对导入。
- 自动导入 - ES6、TS、JSX、TSX(下载量 15.7 万次)
4.8. 设置
JavaScript > Suggest: Auto Imports
:“启用/禁用自动导入建议。需要在工作区中使用 Typescript 2.6.1 或更新版本。”默认值为true
。TypeScript > Suggest: Auto Imports
:“启用/禁用自动导入建议。需要在工作区中使用 Typescript 2.6.1 或更新版本。”默认值为true
。JavaScript > Update Imports on File Move: Enabled
:“在 VS Code 中重命名或移动文件时启用/禁用导入路径的自动更新。需要在工作区中使用 TypeScript 2.9 或更新版本。”默认值为"prompt"
。TypeScript > Update Imports on File Move: Enabled
:“在 VS Code 中重命名或移动文件时启用/禁用导入路径的自动更新。需要在工作区中使用 TypeScript 2.9 或更新版本。”默认值为"prompt"
。
4.8.3. 设置.json
"javascript.suggest.autoImports": true,
"typescript.suggest.autoImports": true,
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.updateImportsOnFileMove.enabled": "always",
另外,如果您希望在保存时对导入的内容进行整理,可以添加以下设置。它将删除未使用的导入语句,并将绝对路径放在最上面。我非常喜欢这种“设置后就不用管”的任务。
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
5. HTML 和 CSS 代码片段
您可能需要创建一个 HTML 样板文件以便快速上手,添加代码块以节省按键次数,或者使用扩展功能来完成您正在输入的内容块。以下是针对这些类似但略有不同的需求的解答。
5.9. 扩展
- HTML 片段(下载量 380 万):“完整的 HTML 标签,包括 HTML5 片段。”
- HTML 样板(下载量 684K):“一个基本的 HTML5 样板片段生成器。”
- CSS 代码片段(下载量 22K):“CSS 的简写代码片段。”
5.10. 功能
Emmet内置于 VS Code 中。Emmet 提供 HTML 和 CSS 的缩写和代码片段扩展功能。Emmet 默认支持 html、haml、pug、slim、jsx、xml、xsl、css、scss、sass、less 和 stylus 文件。您可以阅读VS Code 用户指南了解更多信息。
要创建 HTML 样板,请输入“!”并点击 Tab。
有些缩写使用 CSS 样式选择器,例如:
ul>li*5
其结果是:
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
诸如键入“a”并点击 Tab 之类的扩展将会产生<a href="">
并将您的光标放在引号内,以便您填写href。
这只是对 HTML 功能的简要概述,CSS 也提供了类似的功能,我最喜欢的是自动添加供应商前缀。查看Emmet 文档了解更多信息,并查看速查表以供将来参考。
您可以通过将代码片段添加到名为 的 json 文件中来定制或创建自己的代码片段snippets.json
。
您可以为更多语言启用 Emmet例如,要包含对 Vue 和 JavaScript 的 Emmet 支持,请将以下内容添加到settings.json
:
"emmet.includeLanguages": {
"vue-html": "html",
"javascript":"javascriptreact"
}
在为 Markdown 添加 Emmet 支持时,存在一个 bug(陷阱),您还必须确保排除的语言列表为空,如下面的代码片段所示。此解决方法已在Stack Overflow 上的一个问题中讨论。
"emmet.excludeLanguages": [],
"emmet.includeLanguages": {
"markdown": "html"
}
6. 虚假文本(Dummy text)
您可能想插入一些虚拟文本来填充网页,看看您的 UI 看起来怎么样。您可能熟悉“lorem ipsum”文本生成器。
6.11. 扩展
- Lorem Ipsum(168K 次下载)
6.12. 功能
如上文第 4 点所述,Emmet 内置于 VS Code 中,它有一个lorem缩写。Emmet 默认支持 html、haml、pug、slim、jsx、xml、xsl、css、scss、sass、less 和 stylus 文件。
输入“lorem”并按 Tab 键,它将生成一个 30 字的虚拟段落。
你可以用它来生成任意类型的多个块。例如,“p*2>lorem”缩写会生成如下内容:
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui dicta minus
molestiae vel beatae natus eveniet ratione temporibus aperiam harum alias
officiis assumenda officia quibusdam deleniti eos cupiditate dolore doloribus!
</p>
<p>
Ad dolore dignissimos asperiores dicta facere optio quod commodi nam tempore
recusandae. Rerum sed nulla eum vero expedita ex delectus voluptates rem at
neque quos facere sequi unde optio aliquam!
</p>
7. 自动修剪
自动删除尾随空格。
我建议的设置并不是完全一样的替代:扩展会在您编辑或通过命令时修剪空格;而设置则会在保存时执行修剪。
7.13. 扩展
- 尾随空格(447K 次下载):“突出显示尾随空格并立即将其删除!”
- Autotrim(下载量 1.5 万):“在编辑代码行、删除尾随单词等操作后,通常会出现尾随空格。此扩展程序会跟踪光标处于活动状态的行号,并在这些行不再具有活动光标时删除尾随制表符和空格。”
7.14. 设置
Files : Trim Trailing Whitespace
:“启用后,将在保存文件时修剪尾随空格。”默认值为false
。
7.14.4. 设置.json
我将 Markdown 排除在外,因为如果要在输出中使用硬换行符( <br>
),则需要在行尾添加两个或更多空格。它是CommonMark的一部分,所以我不想阻止它。
"files.trimTrailingWhitespace": true,
"[markdown]": {
"files.trimTrailingWhitespace": false
},
结论
在开始使用扩展程序之前,先看看 VS Code 是否已经支持此功能。这听起来很显而易见,但我们可能都曾犯过类似的错误。VS Code 会定期添加新功能,因此值得时不时地查看一下更新日志。
感谢您的阅读!欢迎订阅我的RSS 源,并在社交媒体上与他人分享这篇文章。💌
您可以通过ko-fi给我买杯咖啡来表达您的感激之情。🙂
文章来源:https://dev.to/robole/vs-code-you-don-t-need-that-extension-18d7