【问题标题】:How can I configure default VS Code namespaces for C#?如何为 C# 配置默认的 VS Code 命名空间?
【发布时间】:2020-12-19 10:38:48
【问题描述】:

如何为 C# 配置默认的 VS Code 命名空间?

例如我有以下文件夹结构:

gameplay/input/controllers/foo.cs

我通过右键单击controllers 文件夹并选择New C# Class 创建了foo.cs。这是默认情况下该类的外观,而我这边没有任何更改:

namespace play.input.controllers
{
    public class foo
    {
        
    }
}

虽然我希望在这种情况下命名空间是gameplay.input.controllers。 我很困惑为什么 VS Code 会将gameplay 更改为play?我该如何解决?

更新

我在我的项目中找不到RootNamespace

所以,提供的答案对我来说毫无价值。

【问题讨论】:

  • 默认命名空间是项目名称。当您创建一个新项目时,VS 默认使用用户文档文件夹(C:\Users\XXXX\Documents\Visual Studio 20XX\Projects 或用于创建项目的最后一个文件夹)并将项目类型增加一个,如 WindowsApplication1 到 WindowsApplication2。如果您在 GUI 中更改项目的名称,则名称空间将更改。
  • 在 Unity 中,我的项目名为 pla。如何在 VS Code 中查找和更改我的项目名称?
  • 要更改项目名称,您可以使用解决方案资源管理器并右键单击资源管理器中的项目以重命名对象。命名空间可以简单地在 VS 中编辑,但在某些情况下,您可能需要更改代码中其他位置的引用。如果您收到编译器错误,只需单击错误,然后更改发生错误的名称。
  • 我应该在解决方案资源管理器中点击哪些项目?
  • 第一行是项目名称,第二行是根命名空间。更改名称将对项目名称(csproj 文件)和命名空间进行多次更改。我会在更改后进行干净的构建,以确保一切仍然可以编译。有些属性,比如起始命名空间,有时不会改变。您可以单击错误列表中的错误以查找错误发生的位置。一些更改您必须搜索项目属性才能找到错误。找不到错误我关闭项目并在记事本中打开 csproj 文件。

标签: c# visual-studio-code namespaces


【解决方案1】:

您可以在 Project Preferences->Application 中设置项目的默认命名空间。 “默认命名空间”输入框中可见的字符串用于项目根目录中的新文件。如果您在子文件夹中创建项目,这些项目将默认包含在命名空间中。

如果您想删除应用程序名称(在您的情况下为play),您可以将默认命名空间定义为空。

您还可以编辑项目文件以包含RootNamespace 标签,如下所示:

  <PropertyGroup>
    <TargetFrameworks>net5.0;netcoreapp2.1</TargetFrameworks>
    <EnableDefaultItems>false</EnableDefaultItems>
....
    <RootNamespace>MyRootNamespace</RootNamespace>
....
    
  </PropertyGroup>

【讨论】:

  • 在哪里可以找到Project Preferences
  • @some1here:右键单击解决方案资源管理器中的项目并选择“属性”。它是上下文菜单中的最后一个条目。 (抱歉不准确,我的VS版本是本地化的)
  • 你说的是VS吗?我的问题是关于 VS Code。
  • @some1here: 好的,后面的我没用,不过我想应该很相似吧。
  • 不,不一样。
猜你喜欢
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多