【问题标题】:VS Code - Turn off auto close tags, but leave on autocompleteVS Code - 关闭自动关闭标签,但保持自动完成
【发布时间】:2018-03-20 18:34:11
【问题描述】:

最近从 Sublime Text 3 切换到 VS Code。总体而言,对切换感到满意,除了这件小事,如果没有解决方案,这件小事就足以成为破坏交易的人。在 ST3 中,如果我键入 <div>,它不会自动放入 </div>,这很好,因为我经常将其粘贴进去,并且不希望它在此处关闭。

然而,ST3 所做的是在我输入</ 的那一刻完成标记。它会在我输入正斜杠时自动填充div>。这是我希望 VS Code 提供的行为。我在任何地方都找不到任何完全令人困惑的提及。我知道如何自动关闭标签,但这不好,因为我必须手动关闭它们。我希望 VS Code 像 ST3 一样为我自动完成标签,而不是立即。

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    转到文件>首选项>设置,搜索html.autoClosingTags并将其设置为false

    这样当你输入<div>时,它不会自动插入</div>,但如果你开始输入</,它不会自动关闭标签。您可以按 ENTER 使其自动完成。

    或者您可以启用此选项,当您键入 <div> 并自动完成时,您只需按 CTRL + Z

    有关此行为的更多信息here

    【讨论】:

    • 敲回车没什么大不了的,但对于我想要关闭的每个标签来说,它仍然是一个额外的击键。感谢您的帮助,但鉴于 VS Code 的可定制性,我完全惊讶于没有实际的解决方案。
    • 您的意思是:转到“代码 > 首选项 > 设置...”
    • 可能值得一提的是,对于那些在 JSX 中工作的人,您还应该在 JavaScript (javascript.autoClosingTags) 和 TypeScript (typescript.autoClosingTags) 中禁用它。
    【解决方案2】:

    将此添加到 settings.json 以使其像 Sublime Text 一样工作:

    "html.autoClosingTags": false,
    "auto-close-tag.SublimeText3Mode": true
    

    【讨论】:

    • "auto-close-tag.SublimeText3Mode" 不是内置的。它带有Auto Close Tag 扩展名。
    【解决方案3】:

    在 Windows/Linux 上 - Ctrl + Shift + P

    在 MacOS 上 - Cmd + Shift + P

    在搜索框中输入 settings.json

    在此处粘贴以下行

    "html.autoClosingTags": false

    【讨论】:

      【解决方案4】:

      我学到的一个非常简单的技巧

      例如,如果您想为单个任务禁用标签自动完成。在不添加关闭标签的情况下保存文件。只需为该文件设置一个不同的language mode
      从推断的 html 更改为 BatchDiff ignore。 vscode 上的选项很多。这将使您能够在不添加任何结束标记的情况下保存文件。
      之后记得将语言模式重置为Auto Detect

      TLDR; 访问语言模式-:

      • 使用命令palette 并搜索Change Language Mode
      • 在 Vscode 的右下角找到一个快捷方式。

      【讨论】:

        猜你喜欢
        • 2021-02-03
        • 2018-03-05
        • 2019-09-08
        • 2015-07-15
        • 1970-01-01
        • 2016-09-02
        • 2021-08-10
        • 2012-06-17
        相关资源
        最近更新 更多