Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止Visual Studio格式化特定代码?_C#_Visual Studio_Visual Studio 2019 - Fatal编程技术网

C# 如何防止Visual Studio格式化特定代码?

C# 如何防止Visual Studio格式化特定代码?,c#,visual-studio,visual-studio-2019,C#,Visual Studio,Visual Studio 2019,我在下面键入代码: if (rows == 0) break; 当我在末尾加上分号时,VS会启动并将其转换为: if (rows == 0) break; 如果(rows=0)返回,则也会发生同样的情况和其他一些构造 如何防止VS格式化这个特定的代码交互,而不影响它提供的所有其他细节?我查看了工具/选项/文本编辑器/C#/代码样式/格式,但没有看到任何明显的内容。您添加了pragam waning disable设置,因此当您执行Ctr+K+D时,它将不会格式化或使用任何快捷键格式

我在下面键入代码:

if (rows == 0) break;
当我在末尾加上分号时,VS会启动并将其转换为:

if (rows == 0) 
    break;
如果(rows=0)返回,则
也会发生同样的情况和其他一些构造


如何防止VS格式化这个特定的代码交互,而不影响它提供的所有其他细节?我查看了工具/选项/文本编辑器/C#/代码样式/格式,但没有看到任何明显的内容。

您添加了pragam waning disable设置,因此当您执行Ctr+K+D时,它将不会格式化或使用任何快捷键格式化

#pragma warning disable format
public class Item
{
      public string Prop1 { get; set; } 
    public string Prop2 { get; set; }
} 
#pragma warning disable format

您添加了pragam waning disable设置,因此当您执行Ctr+K+D时,它将不会格式化或使用任何快捷键格式化

#pragma warning disable format
public class Item
{
      public string Prop1 { get; set; } 
    public string Prop2 { get; set; }
} 
#pragma warning disable format

您可以启用主菜单中的VS选项:

工具>选项>文本编辑器>C#>代码样式>格式>换行>

将语句和成员声明保留在同一行

相同选项对话框的英文版本(VS2017版本):


您可以启用主菜单中的VS选项:

工具>选项>文本编辑器>C#>代码样式>格式>换行>

将语句和成员声明保留在同一行

相同选项对话框的英文版本(VS2017版本):


您是否尝试过在文本编辑器中关闭“代码的漂亮列表(重新格式化)”功能?我想您需要此设置,
csharp\u preserve\u single\u line\u blocks=true
。看起来可以通过EditorConfig文件进行配置。实际上是
csharp\u preserve\u single\u line\u statements=true
。我试过两种方法,这就是影响这个具体案例的方法。我同意奥利维尔·罗吉尔的观点,他为你指明了正确的方向。此外,此选项
会自动格式化上的语句也会影响此场景中的格式语句(工具>选项>文本编辑器>C#>代码样式>格式>常规),但请注意,如果取消选中
将语句和成员声明保留在同一行上的选项,则此选项会起作用。是否尝试关闭“漂亮列表(重新格式化)”文本编辑器中的“代码”设置?我想您需要此设置,
csharp\u preserve\u single\u line\u blocks=true
。看起来可以通过EditorConfig文件进行配置。实际上是
csharp\u preserve\u single\u line\u statements=true
。我试过两种方法,这就是影响这个具体案例的方法。我同意奥利维尔·罗吉尔的观点,他为你指明了正确的方向。此外,此选项
会自动格式化上的语句也会影响此场景中的格式语句(工具>选项>文本编辑器>C#>代码样式>格式>常规),但请注意,当取消选中“将语句和成员声明保留在同一行”选项时,此选项会起作用。这是对问题标题的一个很好的回答,可以保护特定代码不被重新格式化,但听起来OP希望根据特定的格式化操作来控制它,不是特定的代码块。这是对问题标题的一个很好的回答,该标题保护特定代码不被重新格式化,但听起来OP希望基于特定的格式化操作而不是特定的代码块来控制它。