Visual Studio 代码中的代码格式不适用于 C# 代码

Code formatting in Visual Studio Code is not working on C# code

这个问题在这里已经有了答案:

此问题中提供的所有答案均不适用于 C# 代码。

我刚刚复制了我的控制器文件并在 Visual Studio 代码中打开了它。我尝试使用 Shift + Alt + F 格式化代码([= 中的右移和左移36=])

但是没有用。

有解决办法吗?

相同的快捷方式适用于 HTML 和 JavaScript 文件。

对于 C#,您需要

  • 打开至少包含一个 .sln 个文件的文件夹(不是文件)
  • 在底部栏中,您会看到闪烁的火焰。等到它停止闪烁。
  • 点击火焰。您将被要求 select 一个文件。
  • 如果您 select 编辑了 .sln 文件,请再次单击火焰和 select 一个 .csproj 文件。
  • 您现在可以使用 Shift + Alt + F.
  • 格式化属于 selected 项目的所有 .cs 文件

在我的例子中,问题与代码格式化扩展有关。

我使用 C# 的 "Visual Studio Code (powered by OmniSharp)" (ms-vscode.csharp) 扩展进行格式化。但是,一段时间后 "format document" 上下文菜单消失了。格式化组合键 "Shift+Alt+F" 停止工作。

经过一些研究,我发现有一个名为 "C# FixFormat"(Leopotam.csharpfixformat)的新扩展,用于格式化 C# 文档,在其描述中说: “omnisharp 中存在错误,他们正在临时修复该问题”。

安装“C# FixFormat”扩展后,我现在可以再次格式化文档了。