如何在 VS Code 中使用文件范围的命名空间语法 (C# 10) 生成类?

Mik*_*laj 17 c# omnisharp visual-studio-code

我想按照最新的文件范围命名空间语法在 Microsoft Visual Studio Code 中生成新的C#类或接口。C#C#10

https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/types/namespaces

从 C# 10 开始,您可以为该文件中定义的所有类型声明命名空间,如以下示例所示:

namespace SampleNamespace;

class AnotherSampleClass
{
    public void AnotherSampleMethod()
    {
        System.Console.WriteLine(
            "SampleMethod inside SampleNamespace");
    }
}
Run Code Online (Sandbox Code Playgroud)

我以这种方式生成 C# 类:

右键单击资源管理器中的文件夹 -> 新建 C# 类。

输出如下所示:(带大括号的旧语法)

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
                "SampleMethod inside SampleNamespace");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在用着C# for Visual Studio Code (powered by OmniSharp). v1.24.0

VS代码版本是1.62.3

有没有办法覆盖生成器行为以生成新的文件范围的命名空间语法?

Boo*_*mer 39

抱歉,这是一个迟到的回复,但我自己刚刚经历过这个。

您正在寻找的是 Visual Studio 设置。

转到:工具 > 选项 > 文本编辑器 > C# > 代码样式

往下第四块,“代码块首选项”

将“命名空间声明”从“块范围”更改为“文件范围”

(这是在 Visual Studio 2022 中)

编辑(12 月 22 日):

对于 VS Code,我安装了 JosKreativ 的“C# Extensions”

安装后,转到:文件 > 首选项 > 设置

在“搜索设置”文本框中输入“命名空间”

你会看到这个选项(对我来说是第三个);

“Csharpextensions:使用文件作用域命名空间”

选中该复选框即可开始。

  • 对于 Visual Studio 来说这是一个很好的说明,但问题是如何在 Visual Studio Code 中实现它。 (2认同)