【问题标题】:Re-organize namespaces according to directory structure根据目录结构重新组织命名空间
【发布时间】:2011-07-15 19:36:45
【问题描述】:

我在我的解决方案中做了安排。我分离了项目并重新排序了目录。现在我的命名空间搞砸了。有没有什么工具可以根据文件在项目中的位置来排列命名空间?

例如,如果一个cs文件位于MyProj项目下的Printers/Pdf目录中,我希望文件中类的命名空间为MyProj.Printers.Pdf。

编辑:如果可能的话,我正在寻找免费工具。

【问题讨论】:

    标签: c# .net namespaces


    【解决方案1】:

    Resharper 可以做到这一点,尽管它是商业的。但是有试用版。

    【讨论】:

    • jetbrains.com/resharper - 对于任何进行开发的人来说,这个 Visual Studio 插件几乎都是必须的。它有一些可用的最佳重构选项。它由 IntelliJ 的制造商 JetBrains 创建,它拥有所有 Java IDE 中最好的重构选项。
    • @Mike Mozhaev:如果可能的话,我正在寻找免费工具。
    【解决方案2】:

    Resharper > Right click on the project > Refactor Menu > Adjust Namespaces。这将根据文件夹结构重新排列所有命名空间。

    【讨论】:

    • 如果可能的话,我正在寻找免费工具。
    • 此菜单选项仅适用于在 Visual Studio 中安装了 Resharper 插件的用户; t 默认情况下不存在。
    • 我不同意“应该如此”的部分。当我在一个项目中有大量文件时,我喜欢使用文件夹在一个命名空间中组织我的文件。为每个子文件夹创建新的命名空间通常没有意义。
    【解决方案3】:

    Resharper 可以执行此操作并更新所有使用这些类的文件中的 using 语句。

    【讨论】:

    • 如果可能的话,我正在寻找免费工具。
    • 有一个 30 天的试用期,您可以使用它来整理东西。 Resharper 是一个了不起的生产力工具。如果您尝试一下,您可能会购买它。
    【解决方案4】:

    Resharper 是最佳选择,物有所值。如果您已经支付了 Visual Studio 的费用,Resharper 许可证费用就像几美分一样。

    至于免费选项,我认为整个项目的查找和替换可能是您最好的选择。您可以找到不正确的命名空间是什么,然后逐个文件夹找到它并将其替换为正确的命名空间。如果您只是将其移至其他项目,则只需搜索...

    namespace MyOldProject.
    

    并将其替换为...

    namespace MyNewProject.
    

    这是假设您保留了目录结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      相关资源
      最近更新 更多