我喜欢
我也想在Visual Studio中获得这种“建议”。这是否可能,如何实现?
建议是指Visual Studio中“错误列表”中显示的“消息”(见下图)。编译器将其称为“不表示问题的信息”(
如何复现?
一个最小化的复现步骤是创建一个新的控制台应用程序,并添加一个带有私有字段的新类,但是不要将其设置为
侧边栏:我在寻找什么?
我正在寻找一些"非常规"的东西,比如
我很清楚,你可以使用Roslyn API编写自定义工具,但我认为这非常脆弱,因为你需要考虑到所有包恢复、查找MSBuild等复杂性。我认为这真的应该是一个开箱即用的东西,否则就应该在项目上游提出问题。
dotnet
CLI的一个特点,就是你可以运行$ dotnet build --no-incremental
,然后你总是可以得到项目中所有警告的列表。我用它来进行大规模的更改等操作。这个输出可以被管道传递给Unix工具,以进行进一步处理。我也想在Visual Studio中获得这种“建议”。这是否可能,如何实现?
建议是指Visual Studio中“错误列表”中显示的“消息”(见下图)。编译器将其称为“不表示问题的信息”(
DiagnosticSeverity.Info
),EditorConfig将其称为建议(EditorConfigSeverityStrings.Suggestion
)。
![enter image description here](https://istack.dev59.com/WcaBt.webp)
一个最小化的复现步骤是创建一个新的控制台应用程序,并添加一个带有私有字段的新类,但是不要将其设置为
readonly
(见下文)!这将触发IDE044
(如截图所示),但在运行$ dotnet build --no-incremental
时不会显示。如果您通过.editorconfig
文件覆盖了严重程度,则建议会显示,但显然是作为警告。public class Class1
{
private string Foo = "bar";
}
.editorconfig
[*.cs]
# IDE0044: Add readonly modifier
dotnet_diagnostic.IDE0044.severity = warning
侧边栏:我在寻找什么?
我正在寻找一些"非常规"的东西,比如
$ dotnet build ...
。然而,如果不可能的话,我也可以使用第三方全局工具,比如Roslynator命令行界面(我曾经尝试过这条路,但没有成功)。我很清楚,你可以使用Roslyn API编写自定义工具,但我认为这非常脆弱,因为你需要考虑到所有包恢复、查找MSBuild等复杂性。我认为这真的应该是一个开箱即用的东西,否则就应该在项目上游提出问题。
IDE
诊断工具,你需要添加Microsoft. CodeAnalysis.CSharp.CodeStyle才能让编译器执行此操作,而不是在Visual Studio中进行。 - Paulo MorgadoIDE????
违规。当我使用xUnit的违规行为时,它确实起作用:tada:这样,我也了解了CodeStyle包。谢谢! - TiesEnforceCodeStyleInBuild
;) - Ties