假设我有一个简单的Tree
:
type Tree =
| BinaryNode of Tree * int * Tree
| Tip
member this.Sum =
match this with
| Tip -> 0
| BinaryNode(left, value, right) -> left.Sum + value + right.Sum
我用:
定义了一棵树let tree = BinaryNode( BinaryNode( Tip, 2, Tip ), 1, BinaryNode( Tip, 3, Tip ))
但是我认为如果我们有一棵有多个节点的树,那真的很难读。所以我将其包装成多行,如下所示:
[<EntryPoint>]
let main argv =
let tree =
BinaryNode(
BinaryNode( Tip, 2, Tip ),
1,
BinaryNode( Tip, 3, Tip )
)
printf "%A" (tree.Sum)
0
以上代码在Visual Studio
中可以正常工作。但是,当我将Visual Studio Code
与Ionide
一起使用时,它会提醒我:
Lint:元组实例化中的逗号后应加一个空格。
我的问题:
答案 0 :(得分:4)
认为这样做不一定很糟糕。好吧,我希望不要,因为我一直都这样做。尤其是在这样的情况下,否则行可能会太宽以至于无法阅读。
据我所知,Ionide使用FSharpLint。根据{{3}},通过在项目文件夹中放置具有所需配置的名为Settings.FSharpLint
的XML文件,可以在项目级别禁用单个警告。
我认为,就您而言,该文件应具有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<FSharpLintSettings>
<Analysers>
<TupleCommaSpacing>
<Enabled>false</Enabled>
</TupleCommaSpacing>
</Analysers>
</FSharpLintSettings>