安装 .NET Compiler Platform SDK 时您将获得用于创建“代码修复分析器 (NuGet + VSIX)”和“代码重构 (VSIX)”的 Visual Studio 模板。
为什么没有用于使用 NuGet 进行代码重构的模板(例如“代码重构(NuGet + VSIX)”)?
甚至可以从 NuGet 包添加代码重构提供程序(通过手动创建 NuGet 包)?
在每个项目的基础上安装代码重构提供程序没有意义吗?
编辑: 我的用例是一个代码重构,它从非类型化数据(如 JSON)中生成 C# 类型。这基本上就是 F# 类型的提供程序(尽管它们当然更强大)。这意味着用户创建了一个类似下面的类
[JsonProvider("http://example.com/data.json")]
public class ExampleData
{
}
并且重构使用从属性中的 url 获取的示例数据中的属性填充它:
[JsonProvider("http://example.com/data.json")]
public class ExampleData
{
public string Property1 { get; private set; }
public int Property2 { get; private set; }
public void Load(Uri uri) { ... }
public void FromData(string data) { ... }
...
}
我不想创建分析器的原因是用户应该能够决定何时更新 C# 类型。因为我真的不知道 URL 指向的数据什么时候发生变化。而且我不想用无法摆脱的波浪线来惹恼用户。
最佳答案
目前不支持通过 NuGet 分发重构,但我们希望在将来添加。
关于c# - 将 Roslyn 代码重构作为 NuGet 包发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118238/