首页 > 解决方案 > 在 C# 中关闭括号之前禁用 Visual Studio 插入单个空格

问题描述

问题

我正在使用 Visual Studio 17,我的名字是 Emo。

当一个人在 .cs 文件中键入以下内容时:

new int[]{1

...然后键入右括号,插入不需要的空格,产生:

new int[]{1 }

我花了相当多的时间清理这些不需要的空间。如何防止发生这种自动插入?

选项中的所有间距都已关闭

为了让您访问位于工具>>选项>>C#>>代码样式>>格式>>间距中的屏幕,很明显所有“在之前插入空格”和“在之后插入空格”都已关闭。请注意,此屏幕上的所有选项均未选中。

编辑器配置和 csharp_space_between_parentheses

事物的新颖性确实使我无法完全理解编辑器配置文件的目的以及它的优先级,但是,唉,我在这里发现了一篇文章,其中提到了一个名为csharp_space_between_parentheses. 但是我再次无法使用它。

按照我们在此处已知的网页中指示的说明,您可能会了解到使用这样的文件,以下行之一应该可以解决问题:

csharp_space_between_parentheses = none
csharp_space_between_parentheses = false

再一次,当嵌入到新创建的文件中时,这些行都没有解决问题,人们喜欢调用.editorConfig它添加到项目文件夹的根目录中。确实,问题依然存在。

我们非常感谢您在这件事上的解决方案。

标签: c#visual-studioeditorparentheses

解决方案


这是视觉工作室“智能”缩进功能中的一个错误: https ://github.com/dotnet/roslyn/issues/50937

您可以在以下位置切换缩进为 None 或 Block:

Tools -> Options -> Text Editor -> C# -> Tabs -> Indenting

推荐阅读