如何在类模板中使用文件范围的命名空间声明?
Posted
技术标签:
【中文标题】如何在类模板中使用文件范围的命名空间声明?【英文标题】:How can I use a file-scoped namespace declaration in a class template? 【发布时间】:2021-12-28 01:21:03 【问题描述】:C#10 引入了file-scoped namespaces,我想在 Visual Studio 的类模板中使用它。我已将“类”模板文件更新为以下内容:
namespace $rootnamespace$;
class $safeitemrootname$
//I put this comment here to make sure it's using the right file
但是当我创建一个新的空类时,我得到了这个自动生成的代码:
namespace ProjectName
internal class Class1
//I put this comment here to make sure it's using the right file
我需要做什么才能使空类的自动生成代码看起来像这样?
namespace ProjectName;
internal class Class1
作为参考,我使用的是 Visual Studio 2022 Professional,我的项目使用的是 C#10 和 .NET 6。
我正在修改的类模板文件的位置是:C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
【问题讨论】:
vs 模板是开源的,你也许可以找到一个新的并比较 @TheGeneral 你会去哪里找这些? 简答...¯\_(ツ)_/¯
【参考方案1】:
您必须将项目的 editorconfig 设置为首选文件范围的命名空间。
右键单击您的项目。选择“添加”→“新项目”
选择“editorConfig 文件 (.NET)”
双击新的 editorconfig 文件。在“代码样式”选项卡中,将“命名空间声明”设置为“文件范围”
代码模板现在将按预期工作。
【讨论】:
您不仅可以将“.editorconfig”文件添加到您的项目中,还可以将其添加到您的解决方案中,并使其适用于该解决方案中的所有项目。【参考方案2】:查看这个帖子:https://***.com/a/69889803
他们使用 .editorconfig 文件,您可以在其中指定命名空间声明样式。在 VS 2022 中创建新文件时,它将使用该新样式
【讨论】:
嗨,尼尔斯,感谢您的回答。我能够使用该线程弄清楚它。我会写一个更详细的答案,对于 VS2022 来说是最新的以上是关于如何在类模板中使用文件范围的命名空间声明?的主要内容,如果未能解决你的问题,请参考以下文章