【发布时间】:2022-01-24 09:09:56
【问题描述】:
我和我的团队在过去几个月里为我们的项目定义了有关 C# 代码格式和样式的规则,因此我们最终得到了一个 .editorconfig 文件。
此外,我们都安装了扩展Productivity Power Tools,以便在保存文件时格式化代码(CTRL+S),而不必使用VS内置功能Code Clean Up。当我们意识到后者需要一个特殊的快捷键(CTRL+K、CTRL+E)并且团队的每个成员都需要在本地设置这个设置时,我们做出了这个决定,因为没有办法将它放在源代码管理中。
这种工作方式非常适合 VS 2019。
但是,在上个月,团队的大多数成员都升级到了 VS 2022,并且删除了扩展 Productivity Power Tools 22 - 显然没有任何理由 - Format On Save 和 Remove and Sort Usings on save 功能。
显然,我们使用扩展名 VSE-FormatDocumentOnSave 解决了这个问题 - 通过在 Commands 选项中设置 Edit.FormatDocument Edit.RemoveAndSort。它似乎工作得很好,但我们担心的是,这不是 Microsoft 工具,谁知道将来会发生什么。
因此,由于代码样式和格式规则是每个团队都关心的问题,考虑到我们是一个由 20 多名开发人员组成的团队,我想知道是否有人知道更好的管理方法。
【问题讨论】:
-
FWIW,我们的团队使用“艺术风格”VS 扩展名:github.com/lukamicoder/astyle-extension 虽然 2022 年您可能需要自己升级。
-
有一个更好的方法 - 不要强制开发人员使用 IDE 和扩展来控制代码样式和格式(因为他们可能更喜欢使用 VS Code 或 Vim)。而是使用代码审查、门控签入(例如,审查合并到主分支的拉取请求)、静态代码分析器(Stylecop、SonarCube、Roslynator 都可以从 NuGet 包添加到您的代码中)并将它们合并到您的构建管道中。 ReSharper 有一个免费的命令行工具,您也可以使用它。
-
@tromgy 感谢您的建议,但正如我在问题中所说,我想使用 Microsoft 产品,因为将来可能会弃用所有其他产品。
-
@PiersMyers 我们都使用VS,但是VS Code也支持editorconfig。我们已经尝试过使用 PR,但这并不容易。静态代码分析器是我们的下一步,但我们肯定需要一种简单的方法来格式化代码 - 我们正在清除 80 多个项目的任何警告/建议,有时按 CTRL+S 足以同时解决 20 多个警告文件
标签: c# visual-studio using code-formatting editorconfig