Class Snipped
Rozszerzenie do generowania klas C# z komentarza zaczynajacego sie od:
//KKKlasa
Dziala lokalnie, bez API i bez internetu. Projekt zawiera wariant dla VS Code oraz Visual Studio 2019+.
Wpisz w pliku C#:
//KKKlasa
Potem wybierz podpowiedz albo nacisnij Tab, zeby wstawic szablon:
//KKKlasa
// Nazwa: Person
// Namespace: MyApp.Models
// Dostep: public
// Typ: class
// Using: System
// Dziedziczy:
// Implementuje:
// Zaleznosci:
// - IRepository Repository
// Pola:
// - private int _counter
// Wlasciwosci:
// - string Name
// - int Age
// Konstruktor:
// - string name
// Metody:
// - void Print()
Po uzupelnieniu szablonu nacisnij Tab w obrebie bloku komentarza. Komentarz zostanie zamieniony na klase:
namespace MyApp.Models
{
public class Person
{
private readonly IRepository _repository;
private int _counter;
public string Name { get; set; }
public int Age { get; set; }
public Person(IRepository repository, string name)
{
_repository = repository;
}
public void Print()
{
throw new System.NotImplementedException();
}
}
}
Sekcje mozna zostawiac puste albo usuwac. Generator rozumie najwazniejsze elementy z arkuszy INF.04:
Pola - prywatne lub jawnie opisane pola, np. private int _count
Wlasciwosci - auto-wlasciwosci, np. string Name, albo pelny zapis public string Name { get; set; }
Konstruktor - dodatkowe parametry konstruktora
Zaleznosci - zaleznosci wstrzykiwane przez konstruktor, np. IRepository Repository, generuja pole private readonly IRepository _repository
Dziedziczy i Implementuje - typ bazowy oraz interfejsy
Metody - sygnatury metod, np. int Find(int value) albo public void Print()
VS Code
Uruchom testy:
npm test
Zbuduj instalator VSIX:
npm run package:vscode
Wynik:
dist/class-snipped-vscode-0.1.1.vsix
Visual Studio 2019+
Projekt VSIX:
ClassSnipped.VisualStudio/ClassSnipped.VisualStudio.csproj
Budowanie:
.\ClassSnipped.VisualStudio\package-vsix.ps1 -Configuration Release
Wynik:
dist/ClassSnipped.VisualStudio-0.1.1.vsix