При установке .NET Compiler Platform SDK вы получаете шаблоны Visual Studio для создания «Анализатора с кодом Fix (NuGet + VSIX)» и «Рефакторинг кода (VSIX)».Рефакторинг кода корабля Roslyn как пакет NuGet
Почему нет шаблона для отправки кода рефакторинга с помощью NuGet (например, «Рефакторинг кода (NuGet + VSIX)»)?
Можно ли добавить поставщика рефакторинга кода из пакета NuGet (путем создания пакета NuGet вручную)?
Не имеет ли смысл устанавливать поставщика рефакторинга кода для проекта на проект?
EDIT: Мой прецедент - это рефакторинг кода, который генерирует тип C# из нетипизированных данных (например, JSON). Это в основном то, что провайдеры типа 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) { ... }
...
}
Причина я не» t хотите создать анализатор, потому что пользователь должен иметь возможность решить, когда нужно обновлять тип C#. Потому что я не знаю, когда изменяются данные, на которые указывает URL. И я не хочу раздражать пользователя с изящной линией, от которой она не может избавиться.
Можете ли вы расширить свой пример? Вы уверены, что этот рефакторинг, который должен применяться только к некоторым проектам, на самом деле не является переопределением анализатора/кода? –
@Damien_The_Unbeliever thx, я обновил свой вопрос. –