Ionide:如何指定 FSharpLint 的配置?

Ionide: how to specify FSharpLint's configuration?

根据FSharpLint documentation,在命令行中,您可以通过--lint-config指定配置文件。

自从该工具集成到 Ionide 中后,我就期待可以通过某种方式在该扩展程序的设置中指定配置文件。但是,唯一 documented 的设置是 FSharp.Linter,它允许您打开或关闭 linter。

真的没有办法在 Ionide 中配置 FSharpLint 吗?

您可以在项目的根目录下创建一个 fsharplint.json 文件。我将从这个例子开始:https://github.com/microsoft/fsharplu/blob/master/fsharplint.json.

然后您可以随意调整选项。请务必重新启动 VSCode 以使更改生效。

这是一个基于 Koenig Lear 的回答的分步示例。

我有一个代码库,其中一些函数的名称中有下划线。这显示为 linter 问题:

注意规则代码是FL0049

规则列表在这里:

https://fsprojects.github.io/FSharpLint/how-tos/rule-configuration.html

如果我单击 FL0049 的规则,我们将转到以下页面:

https://fsprojects.github.io/FSharpLint/how-tos/rules/FL0049.html

我们展示了如何配置此规则的示例:

{
    "publicValuesNames": {
        "enabled": true,
        "config": {
            "underscores": "AllowPrefix"
        }
    }
}

我在注释中看到underscores可以设置为AllowAny

我在我的项目根目录中创建了一个 fsharplint.json 文件,内容如下:

{
    "conventions": {
        "naming": {
            "publicValuesNames": {
                "enabled": true,
                "config": {
                    "underscores": "AllowAny"
                }
            }
        }
    }
}

我关闭了我的 F# 代码文件,然后重新打开它,波浪线消失了。 :-)