安装.NET Compiler Platform SDK时,您将获得Visual Studio模板,用于创建“带有代码修复的分析器(NuGet VSIX)”和“代码重构(VSIX)”.
为什么没有用于通过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分发重构,但是我们希望将来添加.