vscode 错误的缩进检测

ltqd579y  于 5个月前  发布在  Vscode
关注(0)|答案(7)|浏览(65)

当所有扩展都被禁用时,这个问题是否会发生?:是

  • VS Code 版本:1.81.0-insider ( 4390ebc )
  • OS 版本:Windows 10.0.19045

重现步骤:

  1. 使用一个全新的VS Code,创建一个新的HTML文件并粘贴下面的内容
<ul>
<li><a href="https://foo.bar">
link - one</a></li>
<li><a href="https://foo.bar">
link - two</a></li>
</ul>
  1. 格式化文档
  2. 保存文件,关闭文件,关闭VS Code,重新打开VS Code,重新打开文件
    预期结果:VS Code 将缩进设置为 Spaces: 4 ,因为文档是用那个格式格式化的
    实际结果:VS Code 将缩进设置为 Spaces: 8
vof42yt1

vof42yt11#

使用一个全新的配置文件(没有用户设置,没有扩展):
格式化文件后,我得到

<ul>
	<li><a href="https://foo.bar">
			link - one</a></li>
	<li><a href="https://foo.bar">
			link - two</a></li>
</ul>

(默认的制表符大小为4)
重新打开文件时正确地检测到了这一点。
格式化后你看到了什么?

nnvyjq4y

nnvyjq4y2#

格式化后我得到 Spaces: 4 ;重新打开后我得到 Spaces: 8 。以下是重现问题的屏幕录制。这是一个带有最新VS Code insiders版本的Windows 11标准Windows沙盒。

u2nhd7ah

u2nhd7ah3#

你能检查你没有空设置和没有安装扩展吗?

irlmq6kh

irlmq6kh4#

我的设置为空,没有安装任何扩展。上面的屏幕录制从VS Code安装程序的最后一步开始,以演示这是一个普通的安装。无论如何,我制作了一个新的屏幕录制,包括显示设置和扩展:
output.mp4

y1aodyip

y1aodyip5#

我假设info-needed标签可以被移除?或者我还需要提供其他信息吗?

r7xajy2e

r7xajy2e6#

分配给@hediet,编辑器通过缩进检测来完成...
创建一个带有所有默认设置且没有扩展名的空文件,我希望选择tab

plupiseo

plupiseo7#

Assigning to @hediet, indent detection is done by the editor...
The issue is that formatting with indentation settings X and then reopening should detect the same settings X. So it could also be a bug in the HTML formatter. Actually, in the example, lines link - one</a></li> and link - two</a></li> do have an indentation of 8 spaces, even though the indentation setting is 4 spaces. So either this is "as expected" and indentation detection should not consider this case as an indentation of 8 spaces. Or else this is a bug in the HTML formatter.
Creating an empty file with all default settings and no extensions I would expect that tab is chosen
I don't see how this is linked to this issue in any way? And anyway, I disagree: I would expect "Spaces: 4", which is the current behavior.
PS: please remove the info-needed label, it's obsolete

相关问题