在 .editorconfig 中添加 csharp_style_namespace_declarations
配置后(详见之前的博问),VS 2022 新建的 class 会默认使用 file scoped namespace,但是有个问题,命名空间之后没有加空行
namespace CNBlogs.ZzkService.Application.Interfaces;
public interface IIndexWriterService
{
}
而如果使用 block scoped namespace,通过 quick actions 转换为 file scoped namespace 会在命名空间之后自动加上空行。
请问如何解决这个问题?
通过 visual studio 插件 CodeMaid 解决了,CodeMaid 启用保存时自动格式化,格式化时会自动在 namespace 之后加上空行
修改 Visual Studio 的类模板也存在同样的问题,在
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
或
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class
将 Class.cs 的内容改为
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$;
public class $safeitemrootname$
{
}
但创建的新类中 namespace 与 class 之间也没有空行
@dudu: github 上的相关 issue: Blank line is not preserved after namespace when file has usings