【问题标题】:Why can't I add a subfolder in a F# project?为什么我不能在 F# 项目中添加子文件夹?
【发布时间】:2011-08-20 14:02:11
【问题描述】:

在大多数 .NET 项目中,我可以使用文件夹来组织代码文件。在 C++ 中,我不能,但过滤器最终扮演了同样的角色。但是,在带有 Visual Studio 2010 的 F# 中,我不能。每个代码文件都直接显示在项目目录中。为什么这个功能不可用?

组织包含大量文件的项目的最佳策略是什么?

【问题讨论】:

  • 这个问题是从this uservoice链接到的。现在去投票吧!

标签: visual-studio-2010 f#


【解决方案1】:

实际上,您可以将文件夹添加到 F# 项目,但不直接通过 Visual Studio 支持(您必须自己编辑项目文件):http://fsprojectextender.codeplex.com/(编辑:旧链接已损坏,更新到 F# Project Extender 主页有指向已移动的原始博客文章的链接)(我在this 答案中找到)。

我自己这样做,但它很麻烦,你最终会避免它,直到保持理智真正需要它。我认为该功能只是滑倒了,或者可能是 F# 设计人员一开始就没有那么多的文件夹组织文化。您可以在 F# 源代码中看到,它们更喜欢没有目录的大型源文件,将单独的项目作为组织边界。

我想可以修改 F# 项目模板来支持这一点,这当然是我希望看到的事情。同时,F# 强制执行的线性编译顺序会导致您的代码在某种程度上是自组织的,因此文件夹分组的作用不那么重要。

【讨论】:

    【解决方案2】:

    按照斯蒂芬的回答中所述手动编辑.fsproj 文件是一种选择(当我想组织一个更大的项目时使用它)。

    但是,您必须小心一点,我认为您不能将新文件添加到文件夹中(手动创建文件,然后添加现有文件)。但是,如果您喜欢让事情井井有条(就像我一样),那么它应该适合您。

    此外,还有一个名为F# Project Extender 的工具可以让您更轻松一些。我还没有尝试过,但它看起来支持添加文件夹(也许还有其他有用的东西)。参见项目作者的例如this blog post

    【讨论】:

    • 嗯,我在想使用您通过项目浏览器布局的文件/目录结构的预排序遍历来驱动编译顺序将是可行的方法(我想我会有点困惑在 F# Project Extender 中按字母顺序排列)。
    • 我想将两个回复都标记为答案,因为你们都回答了我问题的不同方面,但我认为我做不到,所以我只想说声谢谢^^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多