Visual Studio Code中的代码格式化在C#代码上无法正常工作

7

这个问题已经有一个答案了:如何在 Visual Studio Code 中格式化代码?

这里提供的所有答案都无法使用于 C# 代码。

我刚刚复制了我的控制器文件并在 Visual Studio Code 中打开它。我尝试使用 Shift + Alt + F(Windows 中的左右 Shift 键)来格式化代码。

但是它没有起作用。

是否有解决方案?

相同的快捷键对于 HTML 和 JavaScript 文件有效。

2个回答

4

如果你想用 C# 进行操作,需要:

  • 打开一个至少包含一个 .sln 文件的文件夹(不是文件)
  • 在底部栏中,你会看到一个闪烁的火焰。等待它停止闪烁。
  • 点击火焰。系统会要求你选择一个文件。
  • 如果你选择了一个 .sln 文件,再次点击火焰并选择一个 .csproj 文件。
  • 你现在可以使用 Shift + Alt + F 格式化所选项目中所有的 .cs 文件。

1
我在侧边栏中看到 Assembly-*.csproj 文件,但是当我点击火焰图标时除了我的项目 .sln 之外什么都没有。有任何想法吗? - jlmakes
只是为了没有好的理由重复这个问题:自动格式化不适用于不属于.sln文件的.csproj文件之外的c#代码吗?我来自Java,以为我可以在一个文件夹中创建一个可编译的helloworld.cs文件,然后编译和运行它。当我意识到vscode自动缩进不起作用时,我完全停止了工作,没想到这是因为它不属于项目/解决方案结构。 - MrJalapeno
关于 "Shift + Alt + F": 仅适用于Windows操作系统。 (来源:https://dev59.com/oF0a5IYBdhLWcg3wvrAy#29973358) - Peter Mortensen

1
在我的情况中,问题与代码格式化扩展有关。我正在使用C#进行“Visual Studio Code(由OmniSharp提供支持)”(ms-vscode.csharp)扩展来进行格式化。然而,一段时间后,“格式化文档”上下文菜单消失了。而且格式化的键盘组合“Shift+Alt+F”也停止工作了。经过一些研究,我发现有一个名为“C# FixFormat”(Leopotam.csharpfixformat)的新扩展可以用于格式化C#文档,他们在描述中说:“omnisharp中存在错误,他们正在暂时修复这个问题”。安装“C# FixFormat”扩展之后,我现在可以再次格式化文档了。

我还要补充一点,"Visual Studio Code Format" 扩展与 "C# FixFormat" 冲突,一旦禁用了 "Visual Studio Code Format",它就可以正常工作了。 - Max Izrin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接