这个问题可能是由于VS Code的某个扩展或者设置导致的。你可以尝试以下方法来解决这个问题:
禁用所有扩展,然后逐个启用,以找出导致问题的扩展。你可以通过点击左侧边栏的扩展图标,然后在已安装的扩展列表中禁用和启用它们。
重置VS Code的设置。你可以通过点击左上角的文件(File)> 首选项(Preferences)> 设置(Settings),然后搜索并重置与问题相关的设置。
如果以上方法都无法解决问题,你可以尝试卸载并重新安装VS Code。在卸载之前,请确保备份你的设置和扩展。
2wnc66cl1#
作为解决方法,你可以将 editor.autoIndent 设置为小于 "Full" 的任何值。
editor.autoIndent
k5ifujac2#
在这里,.php文件继承了html的缩进规则,而decreaseIndentPattern显然被应用了两次。@alexdima我进行了一些调试,我认为这可能是decreaseIndentPattern应用于继承规则时的一个问题?
decreaseIndentPattern
lc8prwob3#
在这里,我们从ScopedLineTokens中查找语言的缩进规则支持vscode/src/vs/editor/common/languages/autoIndent.ts第411行| | constindentRulesSupport=languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).indentRulesSupport; |这是一个正确的HTML。但是当我们从上一行找出继承的缩进时,我们使用模型的语言来查找它vscode/src/vs/editor/common/languages/autoIndent.ts第84行| | constindentRulesSupport=languageConfigurationService.getLanguageConfiguration(model.tokenization.getLanguageId()).indentRulesSupport; |这是一个不正确的PHP。所以它认为这一行没有缩进,因此当前行的缩进超出了前一行的范围。不知道修复方法是什么,也许还要为前一行计算一个ScopedLineTokens
tvz2xvvm4#
看起来 advanced 是下一个较小的级别。将选项设置为该级别会从 PHP 文件中的 HTML 中删除所有自动缩进。现在我又回到了 Notepad++ 提供的级别。我还需要为 HTML 文件设置这个选项,因为它也有不期望的副作用。粘贴一个需要在另一个缩进级别的多行元素时,它会正确地缩进,但会错误地缩进粘贴行下方的关闭标签。我从未打算编辑那一行,但它变得更糟了。VSCode 是否有可能正确地缩进 HTML(无论是 HTML 还是 PHP 文件)?我需要安装任何扩展才能使其正常工作吗,还是说它应该默认就可以工作?
advanced
4条答案
按热度按时间2wnc66cl1#
作为解决方法,你可以将
editor.autoIndent
设置为小于 "Full" 的任何值。k5ifujac2#
在这里,.php文件继承了html的缩进规则,而
decreaseIndentPattern
显然被应用了两次。@alexdima我进行了一些调试,我认为这可能是decreaseIndentPattern
应用于继承规则时的一个问题?lc8prwob3#
在这里,我们从ScopedLineTokens中查找语言的缩进规则支持
vscode/src/vs/editor/common/languages/autoIndent.ts
第411行
| | constindentRulesSupport=languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).indentRulesSupport; |
这是一个正确的HTML。但是当我们从上一行找出继承的缩进时,我们使用模型的语言来查找它
vscode/src/vs/editor/common/languages/autoIndent.ts
第84行
| | constindentRulesSupport=languageConfigurationService.getLanguageConfiguration(model.tokenization.getLanguageId()).indentRulesSupport; |
这是一个不正确的PHP。所以它认为这一行没有缩进,因此当前行的缩进超出了前一行的范围。
不知道修复方法是什么,也许还要为前一行计算一个ScopedLineTokens
tvz2xvvm4#
看起来
advanced
是下一个较小的级别。将选项设置为该级别会从 PHP 文件中的 HTML 中删除所有自动缩进。现在我又回到了 Notepad++ 提供的级别。我还需要为 HTML 文件设置这个选项,因为它也有不期望的副作用。粘贴一个需要在另一个缩进级别的多行元素时,它会正确地缩进,但会错误地缩进粘贴行下方的关闭标签。我从未打算编辑那一行,但它变得更糟了。
VSCode 是否有可能正确地缩进 HTML(无论是 HTML 还是 PHP 文件)?我需要安装任何扩展才能使其正常工作吗,还是说它应该默认就可以工作?