您可以为 ReSharper 的 "Adjust Namespaces" 生成的命名空间添加前缀吗?

Can you add prefix to namespaces that ReSharper's "Adjust Namespaces" generates?

我正在处理一个 Unity/C# 项目,其中 none 个文件具有命名空间。我喜欢不必手动添加命名空间的想法,我喜欢命名空间(在某种程度上)与文件夹结构匹配的想法。但是,目前,使用 ReSharper 的 Adjust Namespaces 会导致类型为 GameNetwork 等的命名空间,这显然会导致其他命名空间出现问题。

是否可以通过某种方式告诉 ReSharper 为随机生成的前缀使用前缀(例如 "projectname."、"companyname."、"com.company.project." 等)?或者我们真的必须将所有文件放在另一个文件夹中才能得到这个结构(我猜有点像你在 Java 中所做的)?

ReSharper 使用项目的默认命名空间作为文件夹名称的前缀。

因此,您可能只需将此默认命名空间设置为您想要的前缀并再次使用 "Adjust Namespaces"。

设置默认命名空间:

  • 右键单击项目资源管理器中的项目项
  • 选择"Properties..."
  • 在项目的 属性 页面上,选择左上角的 "Application"
  • 将"Default namespace"设置为您想要的前缀

在 Unity 项目中,您必须在 Unity 项目设置中设置 "root namespace"(正如 OP 自己指出的那样):

Edit -> Project Settings -> Editor -> Root namespace