【问题标题】:How to disable HTML autocompletion in VSCode?如何在 VSCode 中禁用 HTML 自动完成功能?
【发布时间】:2019-08-17 08:12:47
【问题描述】:

当我输入const someVariable = someArray[0] 时,当我按下回车键时,VSCode 会自动将整行转换为:

const someVariable = <someArray 0=""></someArray>

【问题讨论】:

  • 这是 Emmet,搜索设置为 Emmet 选项。或每次发生时按Ctrl-Z

标签: visual-studio-code autocomplete


【解决方案1】:

"emmet.excludeLanguages": ["typescriptreact"] // or whatever languages you want to exclude

点赞"emmet.excludeLanguages": ["javascript"]

这将完全阻止 emmet 在您指定的那些语言中工作。

或者你也可以试试:

"[typescriptreact]": {
   "editor.acceptSuggestionOnEnter": "off"
}, 

或

"[javascript]": {
   "editor.acceptSuggestionOnEnter": "off"
},

一起

"emmet.showExpandedAbbreviation": "never",

以您的语言保留 emmet 功能,但禁止查看 abbreviation 并在 enter 上接受它。

【讨论】:

  • 如果我只使用 javascript 而不是 typescript 怎么办?
  • 您只需将typescriptreact 替换为您使用的任何语言。我在答案中举了javascript 的例子。
  • 这让我很恼火,excludeLanguages 终于帮我解决了,非常感谢!
  • 在编辑html文件时dom自动完成不断弹出如何禁用这些自动完成?即使添加"emmet.excludeLanguages": ["javascript"]
  • 这段代码看起来值得一试,但是我应该把它放在什么文件中/我应该把它放在哪里让代码理解它?
【解决方案2】:

我认为@Mark 可以回答您的问题。

但是,在我看来,Emmet 似乎正在对您的 JS 代码进行 HTML 扩展,它不应该这样做,除非您的 JS 是 HTML 文件中的内联 <script> 元素?

因此,当您在 JS 块中时,您可以不理会设置并更改文件模式(按 F1,输入 mode 以获取更改语言模式命令,然后选择 JavaScript。再次执行以返回 HTML ),或者将您的 JS 放在一个以 .js 结尾的单独文件中,并将其链接到带有 src= 属性的 HTML,用于 script。

【讨论】:

  • 如果你在 JSX/TSX 领域,这也可能是它发生的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
  • 1970-01-01
  • 2018-10-25
  • 2018-03-20
  • 1970-01-01
  • 2020-01-27
  • 2013-11-01
相关资源
最近更新 更多