有没有办法在Visual Studio 2008中折叠值/函数定义(F#)?

时间:2010-09-03 17:29:27

标签: visual-studio visual-studio-2008 f#

有没有办法在VS2008中“折叠”函数和值,就像C#这样的语言中的对象一样?浏览数百行嵌套函数定义是非常耗费时间和令人沮丧的。

3 个答案:

答案 0 :(得分:9)

所以,官方的答案是不支持。但是,当我在F#团队实习时,我写了一个这个功能的原型实现。因为F#团队还有其他更重要的事情需要做,所以从未对其进行过适当的测试,并且未包含在最终版本中。

该功能的代码实际上仍然存在于F#中,并且可以通过将以下内容添加到devenv.exe.config文件来打开该功能:

<appSettings>
    <add key="fsharp-regions-enabled" value="true" />
</appSettings>

显然,它并不完全是您想要的,因为您只能折叠模块和类型定义,但它仍然有用 - 很难确定在F#中可以折叠的内容,因为F#有很多嵌套声明。

顺便说一句:我是否提到它未经过测试,它可能会导致Visual Studio崩溃甚至崩溃宇宙?

答案 1 :(得分:1)

在Visual Studio 2008中没有,因为语言服务不支持大纲。它也不在Visual Studio 2010中。但编辑器支持adhoc / custom概述的概念。

  • 在编辑器中选择一个区域
  • 右键单击并转到大纲 - &gt;隐藏选择

不幸的是,这是一个完全手动的过程。

答案 2 :(得分:0)

我来的东西对我有用,可能会让你感兴趣。我有VS2008 + RockScroll在我的机器上工作)。

当我必须处理大量嵌套函数时,它确实很有用,因为我看到整个画面要好得多。我也在函数体的开头做了一个注释,如:

// Start of bigFunctionWithLoadsOfNestedFunctions

双击时,它会在缩略图视图中以红色高亮显示出法定义和函数的实际开始。看到: http://img338.imageshack.us/img338/1060/40105807.png