Visual Studio Code 禁用自动闭合标签

55

我试图防止自动闭合标签,但是下面的设置似乎不起作用:

{
    "html.autoClosingTags": false,
}

还需要做什么才能消除自动闭合标签?


你的VSCode版本是多少?它在1.16.1上运行良好。 - wasmup
我也在我的工作电脑和家用电脑上运行最新的1.16.1版本,这个问题在两个地方都出现了。 - zStian
当我将其设置为“true”时,它会自动关闭HTML标签;而当我将其设置为“false”时,它只是提供了一个建议,然后通过按下“ESC”或“Ctrl+Enter”来取消。 - wasmup
2
有人能告诉微软停止在其产品中添加不必要的愚蠢功能吗? - Fox5150
有人知道如何在JavaScript/TypeScript中禁用它吗?我喜欢在HTML中使用它,但是在使用TS泛型时会让人感到非常恼火。 - Vincent Buscarello
首先,您需要检查是否安装了扩展程序,例如自动关闭标签,它将覆盖任何内置的VS Code设置。在意识到已安装并启用此扩展程序之前,请花些时间玩弄VS Code设置文件。 - sergekol
8个回答

26

如果您发现在JSX文件中HTML标签仍然被自动关闭,请注意以下设置:

{
  "javascript.autoClosingTags": false,
  "typescript.autoClosingTags": false
}

6
针对 TypeScript 的 TSX 文件,需要将 "typescript.autoClosingTags": false 配置为 false,以禁用自动闭合标签功能。 - Matt Greer
谢谢,这让我疯了。 - Adam D
在我的情况下,我需要移除 "editor.linkedEditing": true - undefined

22

打开 Visual Studio Code ,进入 Preferences -> Settings

User Settings 选项卡下,点击 Text Editor,搜索设置项 Auto Closing Tags取消勾选 HTML: Auto Closing Tags

Text Editor - Auto Closing Tags setting

如果需要,这个搜索结果也可以让你禁用 JavaScript 和 TypeScript 的自动闭合功能。

基于 macOS 平台上的 Visual Studio Code 1.64.2 版本。


7
我设置了我的内容,但没有任何效果。看起来这个设置实际上并没有起作用(至少对于 HTML 是这样的)。 - Joe Phillips
2
@JoePhillips,当你编辑HTML时,你期望“自动关闭括号”设置会做什么?我已经验证它会在HTML文件中自动关闭方括号 [,花括号 { 和圆括号 (。但是这个设置并不能防止新的HTML元素被自动关闭(例如,<html> 会自动生成 </html>)。 - feature_not_bug
1
我误解了该设置的作用。我原以为当我输入一个<html>标签时,它不会创建</html>标签。那么有没有其他功能可以实现这个效果呢?每次在已有内容周围输入html标签时都要删除标签,这样做很烦人。 - Joe Phillips
3
请将 "html.autoClosingTags": false 添加到您的 settings.json 文件中,这将关闭自动闭合 HTML 标签的功能。 - feature_not_bug
1
你带我找到了正确的答案。你只是在文本编辑器首选项中错过了几行。要查找,请在设置搜索中输入“自动关闭标签”。应该会出现三个选项:HTML:自动关闭标签、JavaScript:自动关闭标签和TypeScript:自动关闭标签。我认为OP想要HTML:自动关闭标签。 - TARKUS
1
@TARKUS 谢谢!我的原始答案现在已经很老了,是基于旧版的VSCode。已更新。 - feature_not_bug

11
对于我来说,解决方案是通过一个扩展实现的。我之前安装了自动闭合标签扩展(谁知道我当时怎么想的),这个扩展覆盖了内置的自动闭合功能。禁用该扩展后问题得到解决。
请检查你启用的所有扩展,看看是否有可能会导致这种行为。

9

禁用仅适用于TypeScript泛型的自动关闭标签

要消除TS <generic>标签的自动关闭,但保留其他标签的自动关闭,请安装Auto Close Tag VSCode扩展,并将以下行添加到您的JSON用户设置中:

{
    "auto-close-tag.disableOnLanguage": [
        "typescript",
        "typescriptreact"
    ]
}

更多阅读: TypeScript泛型: 为类型说明符添加闭合 "标签" #17


7
以下方法对我有效:
1. 转到 文件 > 首选项 > 设置(Ctrl + ,)|| 对于MAC(Command + ,) 2. 扩展 > HTML 3. 取消勾选 "自动闭合标签"。
希望能对你有所帮助。祝好!:)

5

我刚遇到了这个问题,我去了偏好设置 -> 设置 -> 扩展 -> HTML -> 禁用HTML标签的自动闭合。希望这可以帮到你!


5
你可能需要删除“false”后面的逗号 - Visual Studio Code似乎不喜欢在首选项中的最后一条语句之后加上逗号。

1
我刚刚自己查了一下,发现没有验证过的答案。那些说你必须转到HTML部分的人是完全正确的,如果你不取消HTML:自动关闭标签下的复选框,则会继续获得闭合标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接