vscode 中 html文件使用emmet語法 感嘆號!+Tab 生成HTML骨架代碼片段的修改方法

在 visual studio code(以下簡稱 vscode)新建一個html,輸入!後會提示按tab鍵生成html骨架代碼片段:

image

這種方法生成的格式不適合我們,需要修改它;

image

方法一,原有基礎上簡單的修改 lang 和 charset 這兩個

在 vscode 上,依次:文件 - 首選項 - 設置 ,輸入 emmet.variables 然後 添加項,如下圖:

image

建議:搜索 Trigger Expansion On Tab 同樣勾上;

這樣,再生成就是這樣了:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

方法二,使用emmet語法徹底自定義這個感嘆號的模板(推薦)

注意:此方法需要了解 emmet 語法,當然這語法很簡單;

參考 vscode 的官方文檔:https://code.visualstudio.com/docs/editor/emmet#_using-custom-emmet-snippets

官方翻譯是:要自定義 Emmet 代碼片段需要在名爲 snippets.json 的 json 文件中定義。ExtsionsPath 設置應該包含包含此文件的目錄的路徑。

白話文是:在 vscode 的設置中找到 emmet Extensions Path 設置項,填入你自定義的本地絕對路徑,要求這個路徑裏面必須包含 snippets.json 文件,這文件用來定義emmet代碼片段的,包括覆蓋 感嘆號!

操作:

1、在 C:\Users\你的用戶名\AppData\Roaming\Code\User 上新建一個 emmet 文件夾,裏面新建一個 snippets.json 文件,內容是:

{
  "html": {
    "snippets": {
      "!": "{<!DOCTYPE html>}html[lang=zh-CN]>(head>meta[charset=UTF-8]+meta[name=viewport content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0, minimal-ui:ios\"]+meta[http-equiv=X-UA-Compatible content=\"ie=edge\"]+title{Document}+link[rel=stylesheet href=\"${1}\"]+script[src=\"${2}\"])+body"
    }
  },
  "css": { 
    "snippets": {    
    }
  }
}

2、在 vscode 上,依次:文件 - 首選項 - 設置 ,輸入 emmet Extensions Path 然後添加項,填入你的路徑:C:\Users\你的用戶名\AppData\Roaming\Code\User\emmet\

image

重啓 vscode,再試一下,下面就是生成的:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0, minimal-ui:ios">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="">
    <script src=""></script>
</head>
<body>
    
</body>
</html>

方法三:不使用自帶的emmet,而是用自己的代碼片段(推薦)

這種方法,不需要了解 emmet 語法,與 方法二 沒啥不同;

在 vscode 上,依次:文件 - 首選項 - 配置用戶代碼片段 - 打開 html.json(沒有就新建,如下圖)

image

image

用下面的來替換:

{
    "diy h5": {
        "prefix": "!",
        "body": [
            "<!DOCTYPE html>",
            "<html lang=\"zh-CN\">\n",
            "<head>",
            "\t<meta charset=\"UTF-8\">",
            "\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,minimal-ui:ios\">",
            "\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">",
            "\t<title>Document</title>",
            "\t<link rel=\"stylesheet\" href=\"$1\">",
            "\t<script src=\"$2\"></script>",
            "</head>\n",
            "<body>\n$3",
            "</body>\n",
            "</html>"
        ],
        "description": "The full sample code - html5."
    }
}

然後,就能看到我們的代碼片段了:

image

第一個感嘆號是 emmet 的代碼片段,第二個纔是我們要的,要隱藏第一個感嘆號!,步驟如下:

在方法二中, 將 snippets.json 文件的感嘆號的值,改爲 \t ,重啓 vscode 即可;

{
  "html": {
    "snippets": {
      "!": "\t"
    }
  }
}

方法四,不使用感嘆號!+tab,而是使用 html:5 來生成html骨架

在 vscode 上,依次:文件 - 首選項 - 設置 - 搜索 emmet Abbreviation,如下圖勾選:

image

然後在html文件中直接輸入html,然後會提示html:5,選擇這個回車也就可以自動生成html模板了:

image

參考
https://code.visualstudio.com/docs/editor/emmet#_using-custom-emmet-snippets
https://blog.csdn.net/m0_56991207/article/details/125697024

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章