是什么罗斯林CodeFix和重构之间的区别?

问题描述 投票:2回答:2

我一直在淘一切可能的资料,我可以找到关于罗斯林API,但我找不到回答这个简单的问题。

我知道CodeFix从CodeFixProvider继承,并提供代码补丁。我也知道,从重构继承CodeRefactoringProvider并提供重构。一个区别是,我发现由于某些原因,你可以使用的NuGet,只有通过VSIX,而你可以同时使用重新分发CodeFix再分发的重构。

但究竟什么是代码补丁,什么是重构?有什么可以做一个,其他不能?

c# roslyn
2个回答
1
投票

代码补丁是,你已经确定了在代码中的错误或失误,可以推断出如何纠正代码。

一个重构是一个变化的代码,通常会使其既不多也不少正确的。这并非不寻常,提供多种的重构,将改变各种形式,包括经常,回到它是在之前人接受了任何重构形式之间的代码。相反,它会在代码转换成一种形式,另一种代码修复可以应用到了极致找到另一个代码修复(在同一个包)罕见。


0
投票

除了前面的答案有代码修复和代码重构之间的另一种功能上的差异。您可以通过覆盖GetFixAllProvider以解决广泛的代码修复方便地添加支持:

public override FixAllProvider GetFixAllProvider() => WellKnownFixAllProviders.BatchFixer;

但据我所知,没有这样一个简单的方法来提供质量重构

© www.soinside.com 2019 - 2024. All rights reserved.