如何关闭Visual Studio 2022的自动缩进功能

7
我升级到 VS 2022 后,每次添加分号时整个代码块都会被缩进到前面。有人知道如何关闭此功能吗?我已经厌倦了反复按 Ctrl + Z。
之前的样子: Before semicolon 之后的样子: enter image description here

它对你有帮助吗?https://dev59.com/1nRB5IYBdhLWcg3wCjnO - Keyvan Soleimani
1
@user2864740,我已经检查过了。在2019年没有问题。问题只出现在VS 2022中。 - Mitch Storrie
1
这种情况是在你所有的页面中发生还是只有这一页? - Caius Jard
1
@CaiusJard 看起来当我在另一页尝试时,问题并没有出现,因此这可能与之前提到的块缩进错误有关。 - Mitch Storrie
没错,这就是我之前删除的评论中问页面是否完全没有错误的原因;当 Blazor 开发中某个标记上的小错误会完全破坏页面的代码结构时,有时候会让人非常沮丧,例如 C# 会认为没有定义任何字段或方法等。 - Caius Jard
显示剩余3条评论
7个回答

4
我不确定你是否找到了正确的答案,但我曾经遇到过同样的问题,阅读其他两个答案让我找到了解决方法。问题出在自适应格式选项被打开了。要关闭它,请前往:

工具 -> 选项 -> 文本编辑器 -> 高级

你应该会看到 enter image description here

取消勾选“使用自适应格式”

保存并重新启动Visual Studio

这样应该就可以解决问题了。


1
  1. 打开VS2022的工具-选项菜单
  2. 在搜索框中输入缩进
  3. 找到出现在格式选项下的缩进

文本编辑器-C#-代码风格-格式化缩进

勾选/取消勾选复选框,查看代码的外观并保存


1
仍然遇到相同的问题。 - Mitch Storrie
1
我尝试过这个。似乎在应用分号后无法解决缩进问题。 - Mitch Storrie

1
在将代码块合并到razor页面的一个块上之后,这似乎已经纠正了这个问题。我认为缩进可能是由于某些错误引起的,例如由于尝试解决其他格式化代码而导致缩进失败。这不是一个确切的答案,但我发现移动一些东西可以防止这种情况发生,并且这与工具文本编辑器选项中的任何缩进设置无关。

支持多个@code块,但我不记得看到过超过一个的情况。对于代码变得如此庞大和难以处理的地方,将页面拆分为标记和部分代码后端是有很多意义的。这也使某些操作更容易;您不太可能遇到一些小的语法错误蔓延成数百个奇怪的代码错误(我经常看到“不定义具有这么多参数的构造函数”),并且至少在2019年,执行一些重构,例如重命名属性/方法更有可能起作用/不会破坏标记。拆分很容易... - Caius Jard
只需创建一个名为 YourPageName.razor.cs 的文件,并在其中创建一个名为 partial class YourPageName 的部分类,然后将代码移动到该类中即可。VS 将帮助处理任何其他问题,例如缺少的 using 语句 - 还可能有一些需要将 @inject 指令移动到属性上的 [Inject] 属性等。 - Caius Jard

0
在我的情况下,我不喜欢粘贴后的自动格式化。要关闭此功能:
工具 -> 选项 -> 在搜索框中输入“格式化”,然后选择您首选的编程语言下的“常规”部分。对我来说:C# -> 代码样式 -> 格式化 -> 常规。
取消选中“粘贴时自动格式化”。

0

我从一开始就遇到了这个问题,即使在 17.1 版本中关闭自适应格式也没有起作用。 然而,成功的方法是在“工具”->“选项”->“文本编辑器”->“C#”->“代码样式”->“格式化”下关闭所有“自动格式化”。

我关闭了该部分中的所有内容!因为我可以自己进行格式化。

如果您确实希望编辑器进行某些格式化,则可以在 Formatting 部分的“常规”、“缩进”、“新行”、“间距”和“换行”子分支中自定义它。


0
在 Visual Studio 2022 Community 中:
  • 前往 工具 -> 选项 -> "从设置生成 .editorconfig 文件"
  • 在某个文本编辑器中打开 .editorconfig
  • 搜索 "indent_size" 和 "indent_style" 并根据您的需求进行调整

即使不重新启动 Visual Studio,效果也会立即反映出来。


-1

在“工具”-“选项”下还有另一个选项

文本编辑器-所有语言-制表符。

尝试指定制表符大小和缩进大小


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