提问人:Anders Forsgren 提问时间:11/17/2023 更新时间:11/17/2023 访问量:37
避免在特定区域中自动设置代码格式
Avoid Visual Studio autoformatting code in specific region
问:
使用 .editorconfig 配置格式并启用自动格式化(或运行 )时,有没有办法禁止特定区域/代码块的格式化?dotnet format
例如,我有一个文件,其中定义了 1000 个常量,这些常量排列在整齐的列中。对于这样的例外,我想使用类似的东西
class Example
{
#preserve-format
// A block I want automatic formatting to just ignore
const int A = 123;
const int Longer = 234;
const int ...
...
#end-preserve-format
// Formatter works normally here
public void Foo()
{
}
}
有什么东西可以做到这一点吗?
答:
0赞
Julian
11/17/2023
#1
作为替代方案,您可以将类拆分为两部分,并对包含整齐格式常量的文件应用不同的格式规则,例如:#pragma
示例类第 1 部分:Example.Part1.cs
partial class Example
{
// A block I want automatic formatting to just ignore
const int A = 123;
const int Longer = 234;
// ...
}
然后将类的其余部分添加到第 2 部分:Example.Part2.cs
partial class Example
{
// Formatter works normally here
public void Foo()
{
}
}
然后,在 .editorconfig 中,可以覆盖 Example.Part1.cs 文件的格式设置规则:
[*/**Example.Part1.cs]
csharp_space_around_declaration_statements = ignore
3赞
Mocas
11/17/2023
#2
是的,您可以使用 #pragma
class Example
{
#pragma warning disable format
// A block I want automatic formatting to just ignore
const int A = 123;
const int Longer = 234;
const int ...
...
#pragma warning restore format
// Formatter works normally here
public void Foo()
{
}
}
评论
0赞
Julian
11/17/2023
我以前不知道,整洁!无论如何,我会把我的答案作为替代方案。format
0赞
Mocas
11/17/2023
是的,这很酷:D
评论