【问题标题】:F# code formatting: adjust spacesF# 代码格式化:调整空格
【发布时间】:2017-05-04 17:21:17
【问题描述】:

我使用VS2015F# 中编写代码。我通常使用R# 来格式化C# 代码,现在我尝试找到类似的东西,但对于F#

主要目标是调整空间。例如

MethodName (var1,var2  )|> SomeMethod    |> SomeMethod

应该转换为:

MethodName ( var1, var2 ) |> SomeMethod |> SomeMethod

什么工具可以这样格式化我的代码?
怎么做?

更新1

我已经尝试过Visual F# Power Toolsdoesn't work

这就是我在这里询问的原因 - 接收社区关于可以在 F# 中格式化代码的不同工具的意见

【问题讨论】:

  • “F# Power Tools”扩展是必需品,你一定要安装它。但它不能做这种特殊的格式。
  • 在回答并找到您之前的问题之后,我能给出的最佳建议是,1. Fantomas 是我所知道的格式化 F# 代码的唯一自动化方式。 2. 为了让 Fantomas 工作,代码必须编译干净,因为 Fantomas 不能与源代码一起工作;我认为它适用于 AST,但必须检查。由于 Fantomas 是开源的,可在 GitHub 获得,您可以随时深入研究代码并进行更改。

标签: visual-studio visual-studio-2015 f# code-formatting


【解决方案1】:

我认为这是一个重复的问题,但找不到。

通过谷歌等搜索找到答案的问题是你遇到了F# Formatting,但这不是你想要的。

关键是要知道项目名为fantomas

如何安装 Fantomas

它可以作为独立扩展安装,但更常见的是作为F# Power Tools 的一部分安装。

使用 Visual Studio

从 VS 菜单
工具 -> 扩展和更新...

在左侧索引中单击Online

在右上角的搜索框中输入F# Power Tools

在中间的列表中选择Visual F# Power Tools

点击Download

点击Install

点击Restart Now

切换到源代码选项卡

使用 Fantomas 的快速演示

注意:对于此示例,我必须使用与问题中提供的代码不同的代码,因为这仅适用于有效的 F# 代码,而问题中的代码不是有效的 F# 代码。

let somefunction x = x

let functionName   var1    var2 = var1   |> somefunction       |> somefunction

Ctrl-K、D(按 Ctrl-K,然后按 Ctrl-D)

let somefunction x = x

let functionName var1 var2 = 
    var1
    |> somefunction
    |> somefunction

Fantomas 的设置选项

从 Visual Studio 菜单

工具 -> 选项...

在左侧索引中向下滚动并选择F# Power Tools

选择Formatting

【讨论】:

  • 感谢您的详细回答,我已尝试Visual F# Poer Tools,但它不起作用。我的你知道如何强迫它工作吗?查看 Update1
  • 另外我建议从控制台安装软件包(它会更快):Install-Package FSharpVSPowerTools.Core
  • 是的,我什至尝试重新启动我的电脑 - 仍然无法正常工作
  • 谢谢,我什至尝试运行命令 vrom VS menu 以确保命令被真正调用并且没有成功
【解决方案2】:

您可以尝试 Chris McGrath 的 Code Alignment 扩展,这是我使用的。它提供了工具栏按钮,允许您通过预定义或自定义字符串对齐所选行上的文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2012-03-17
    • 2010-10-07
    • 2011-02-22
    相关资源
    最近更新 更多