F# 的自动缩进和取消缩进

Auto indent & unindent for F#

我正在学习 F#,我正在寻找一个 IDE 或支持自动缩进的编辑器,以及一些在完成函数编写后取消缩进的热键。我现在正在为 Mac 使用 Visual Studio 2017,它会自动缩进,但是当我想退出该功能时,我必须退格 3 或 4 次才能返回到起始列以退出功能。只是有点痛。任何人都有任何建议(不包括接受)。

如评论中所述,各种编辑器都有各种键盘快捷键,可让您比按四次退格键更快地跳回到上一缩进级别。

对于自动执行此操作,我认为这可能很棘手(尤其是对于取消缩进),因为当您完成编写函数时,编辑器没有任何指示。例如,假设您刚刚输入:

let range lo hi = 
    [ lo .. hi ]

在右方括号后按 Enter 后,您可能想要取消缩进并编写另一个函数,或者您可能想要继续缩进,例如:

let range lo hi = 
    [ lo .. hi ]
    |> List.map formatNumber

因此,自动 执行此操作对于大括号语言来说很有意义,但对于像 F# 这样缩进很重要的语言来说并不那么明显。