Visual Studio Code 中的 Emmet


Visual Studio Code 中的 Emmet

對 Emmet 片段和擴展的支持內置於 Visual Studio Code 中,無需安裝其他擴展。 Emmet 2.0 支持大多數 Emmet Actions,包括擴展 Emmet 縮寫和片段

如何展開 Emmet 縮寫和片段

默認情況下,vscode會在 html, haml, pug, slim, jsx, xml, xsl, css, scss, sass, lessstylus 文件,以及從上述任何文件繼承的任何語言(如handlebarphp)中啟用Emmet功能。

Emmet in suggestion/auto-completion list

當您開始輸入 Emmet 縮寫時,您將看到該縮寫顯示在建議列表中。如果您打開了建議文檔彈出窗口,您將在鍵入時看到擴展的預覽。如果您在樣式表文件中,展開的縮寫會顯示在建議列表中,並在其他 CSS 建議中排序。

使用 Tab 鍵 進行 Emmet 擴展

如果要使用 Tab 鍵擴展 Emmet 縮寫,請添加以下設置:

"emmet.triggerExpansionOnTab": true

當文本不是 Emmet 縮寫時,此設置允許使用 Tab 鍵進行縮進。

禁用 quickSuggestions 時的 Emmet

如果您禁用了 editor.quickSuggestions 設置,您將不會在鍵入時看到建議。您仍然可以通過按 Ctrl+Space 手動觸發建議並查看預覽。

在建議中禁用 Emmet

如果您根本不想在建議中看到 Emmet 縮寫,請使用以下設置:

"emmet.showExpandedAbbreviation": "never"

您仍然可以使用命令 Emmet: Expand Abbreviation 來擴展您的縮寫。您還可以將任何鍵盤快捷鍵綁定到命令 id editor.emmet.action.expandAbbreviation

Emmet 建議排序

為確保 Emmet 建議始終位於建議列表的頂部,請添加以下設置:

"emmet.showSuggestionsAsSnippets": true,
"editor.snippetSuggestions": "top"

其他文件類型中的 Emmet 縮寫

要在默認情況下不可用的文件類型中啟用 Emmet 縮寫擴展,請使用 emmet.includeLanguages 設置。

Language Identifier
ABAP abap
Windows Bat bat
BibTeX bibtex
Clojure clojure
Coffeescript coffeescript
C c
C++ cpp
C# csharp
CSS css
Diff diff
Dockerfile dockerfile
F# fsharp
Git git-commit and git-rebase
Go go
Groovy groovy
Handlebars handlebars
Haml haml
HTML html
Ini ini
Java java
JavaScript javascript
JavaScript React javascriptreact
JSON json
JSON with Comments jsonc
LaTeX latex
Less less
Lua lua
Makefile makefile
Markdown markdown
Objective-C objective-c
Objective-C++ objective-cpp
Perl perl and perl6
PHP php
Plain Text plaintext
PowerShell powershell
Pug jade, pug
Python python
R r
Razor (cshtml) razor
Ruby ruby
Rust rust
SCSS scss (syntax using curly brackets), sass (indented syntax)
ShaderLab shaderlab
Shell Script (Bash) shellscript
Slim slim
SQL sql
Stylus stylus
Swift swift
TypeScript typescript
TypeScript React typescriptreact
TeX tex
Visual Basic vb
Vue vue
Vue HTML vue-html
XML xml
XSL xsl
YAML yaml

確保對映射的兩側使用語言標識符,右側是 Emmet 支持的語言的語言標識符(參見上面的列表)。

例如:

"emmet.includeLanguages": {
    "javascript": "javascriptreact",
    "razor": "html",
    "plaintext": "pug"
}

Emmet 不了解這些新語言,因此在非 HTML/CSS 上下文中可能會出現 Emmet 建議。為避免這種情況,您可以使用以下設置。

"emmet.showExpandedAbbreviation": "inMarkupAndStylesheetFilesOnly"

注意:如果您之前使用 emmet.syntaxProfiles 來映射新的文件類型,從 VS Code 1.15 開始,您應該使用設置 emmet.includeLanguagesemmet.syntaxProfiles 僅用於自定義最終輸出。

Emmet 多光標

您也可以將大多數 Emmet 操作與多光標一起使用:

Emmet with multi cursors

使用過濾器

過濾器是特殊的后處理器,可在擴展后的縮寫輸出到編輯器之前對其進行修改。有兩種使用過濾器的方法;通過 emmet.syntaxProfiles 設置全局設置或直接在當前縮寫中。

下面是使用 emmet.syntaxProfiles 設置對 HTML 文件中的所有縮寫應用 bem 過濾器的第一種方法的示例:

"emmet.syntaxProfiles": {
    "html": {
        "filters": "bem"
    }
}

要僅為當前縮寫提供過濾器,請將過濾器附加到您的縮寫。例如, div#page|c 將對 div#page 縮寫應用comment過濾器。

BEM過濾器(bem)

如果您使用 Block Element Modifier (BEM) 方式編寫 HTML,那么 bem 過濾器使用起來非常方便。要了解有關如何使用 bem 過濾器的更多信息,請閱讀 Emmet 中的 BEM 過濾器

您可以使用 Emmet 首選項中記錄的 bem.elementSeparatorbem.modifierSeparator 首選項自定義此過濾器。

評論過濾器 (c)

此過濾器在重要標簽周圍添加注釋。默認情況下,“重要標簽”是那些帶有 id 和/或 class 屬性的標簽。

例如 div>div#page>p.title+p|c 將被擴展為:

<div>
    <div id="page">
        <p class="title"></p>
        <!-- /.title -->
        <p></p>
    </div>
    <!-- /#page -->
</div>

您可以使用 Emmet Preferences 中記錄的 filter.commentTriggerfilter.commentAfterfilter.commentBefore 首選項自定義此過濾器。

filter.commentAfter 首選項的格式在 VS Code Emmet 2.0 中有所不同。

例如,而不是:

"emmet.preferences": {
    "filter.commentAfter": "\n<!-- /<%= attr('id', '#') %><%= attr('class', '.') %> -->"
}

在 VS Code 中,你會使用一個更簡單的:

"emmet.preferences": {
    "filter.commentAfter": "\n<!-- /[#ID][.CLASS] -->"
}

修剪過濾器 (t)

此過濾器僅在為 Emmet: Wrap with Abbreviation 命令提供縮寫時適用。它從包裹的線中刪除線標記。

原文:https://code.visualstudio.com/docs/editor/emmet


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM