我从
eglot
切换到 lsp-mode
,并且在 C# 代码中出现意外的缩进。我有一个最小的编辑器配置文件,仅将 indent_size
设置为 2
。事情看起来很好,直到我遇到分号,此时当前行和下一行都比应有的缩进得更远。这是之前的:
public static class Stuff
{
public static T DoAThing<T>(T obj)
{
Console.WriteLine(obj)
}
}
这就是我点击
;
时发生的情况:
public static class Stuff
{
public static T DoAThing<T>(T obj)
{
Console.WriteLine(obj);
}
}
查看
;
的帮助,我发现它绑定到 c-electric-semi&comma
,但似乎将 c-syntactic-indentation
设置为 nil
实际上并不能防止缩进,这与文档所说的相反。
对于任何将来遇到此问题的人来说,
c-electric-semi&comma
是一个转移注意力的话题。问题是 omnisharp-roslyn
未配置为尊重 editorconfig
设置。方法是转到 ~/.omnisharp/omnisharp.json
并确保您已启用此功能:
{
"FormattingOptions": {
"enableEditorConfigSupport": true
}
}