我在VS代码上使用以下emmet代码段:
{<!DOCTYPE html>}>html[lang='${lang}']>(head>meta[charset='${charset}']+meta[http-equiv='X-UA-Compatible'][content='IE=edge']+meta[name='viewport'][content='width=device-width,initial-scale=1.0']+(title>{${title}${1}})+script+style{.one{\}})+(body>div.one)标题title>{${title}${1}}后面有一个制表符,默认情况下,它将光标放在text title|之后。它是这样膨胀的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>title|</title>
<script></script>
<style>.one{}</style>
</head>
<body>
<div class="one"></div>
</body>
</html>我希望光标在css类中,在花括号、.one{|}之间。
所以我把制表符放在类中,就像.one{${1}\}}一样
{<!DOCTYPE html>}>html[lang='${lang}']>(head>meta[charset='${charset}']+meta[http-equiv='X-UA-Compatible'][content='IE=edge']+meta[name='viewport'][content='width=device-width,initial-scale=1.0']+(title>{${title}})+script+style{.one{${1}\}})+(body>div.one)但是在扩展之后,诅咒被放置在脚本标记之间。<script>|</script>。
.one{|}内部扩张后?.one{<linebreak>|<linebreak>}发布于 2021-12-24 10:13:24
我可以复制你在vscode中看到的行为。请注意,如果tab一次,光标就会到达您想要的位置。可能是个虫子。
如果您经常使用此表单,请考虑将其制作成代码片段。这是一个更清楚的理由和制表放置确实工作的预期在vscode。你在任何地方都可以得到新的线,所以行线可以去任何地方。
示例片段:
"html9": {
"prefix": "html9", // whatever prefix you want
"body": [
"<!DOCTYPE html>", // need to escape "'s
"<html lang=\"en\">",
"<head>",
"\t<meta charset=\"UTF-8\">", // \t for a tab
"\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">",
"\t<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">",
"\t<title>title|</title>",
"\t<script></script>",
// "\t<style>.one{$1}</style>",
"\t<style>.$1{$2}</style>", // tabstop $1 for class name
"</head>",
"<body>",
// "\t<div class=\"one\"></div>",
"\t<div class=\"$1\"></div>", // tabstop $1 for class name
"</body>",
"</html>"
]
}见定义自己的片段。

https://stackoverflow.com/questions/70313902
复制相似问题