Hasznos programok, bővítmények C# fejlesztéshez
Ha C# fejlesztés, akkor az első eszköz, ami mindenkinek az eszébe jut, az a Visual Studio. Ezen kívül számos program, bővítmény létezik, ami megkönnyíti a fejlesztők életét. Ebben a cikkben bemutatom az általam is használtakat.
Visual Studio bővítmények
1. Live Share
A Live Share lehetővé teszi, hogy egy távoli gépen futó Visual Studio-ba becsatlakozz. Jóval nagyobb szabadságot ad, mint egy Teams vagy Skype hívás közben az irányítás átvétele. A megosztott Solution-ön belül ugyanúgy tudunk navigálni, mint ha fizikailag a távoli gép előtt ülnénk. Nagy mértékben egyszerűsíti a pair programming-ot és a közös hibakeresést home office esetén.
A legjobb, hogy Visual Studio és Visual Studio Code is támogatott.
https://visualstudio.microsoft.com/services/live-share/
2. Roslynator
A Roslynator egy C# elemző és refactor bővítmény. Rengeteg lehetőséggel bővíti a CTRL + . menü alatt elérhető Refactor lehetőségeket, valamint javaslatokat tesz a meglévő kódunk jobbá tételére. Nem utolsó sorban tanulni is lehet a javaslataiból.
https://marketplace.visualstudio.com/items?itemName=josefpihrt-vscode.roslynator
3. Fine Code Coverage
A Visual Studio Community Edition-ben számomra az a legidegesítőbb, hogy unit tesztekhez nem érhető el coverage adat. Értem én, hogy valahogy rá kell venni az embereket/cégeket a fizetős változat megvásárlására, de azért a unit teszt futtatás mellé egy coverage adat megjelenítése nem az ördögtől való lenne.
A Fine Code Coverage a Community Edition-be varázsol nekünk unit teszt futtatás után line coverage adatokat. Nem olyan szép, mint a Pro/Enterprise beépített eszköze, meg néha nem is működik, de cserébe nem akkora szívás, mint mondjuk belőni egy OpenCover-t.
https://marketplace.visualstudio.com/items?itemName=FortuneNgwenya.FineCodeCoverage
4. XAML Styler
A WPF/Avalonia/Xamarin platformok nagy előnye és egyben hátrányos része a XAML nyelv. Baromi gyorsan lehet vele UI kinézetet alkotni, de kihívás benne olyan XAML kódot írni kiegészítők nélkül, ami szépen is olvasható és nem utolsó sorban jól is verziókezelhető.
Ezen a problémán segít a XAML Styler, ami XAML dokumentumaink automatikus vagy manuális formázását végzi megadott beállítások alapján.
Nagy előnye, hogy létezik egy parancssoros változata is, ami segítségével akár GIT pre-commit hook-nak is beköthető, így ha többen dolgoztok XAML kódon, akkor egységes formára hozható a kódbázis.
https://marketplace.visualstudio.com/items?itemName=TeamXavalon.XAMLStyler
5. SonarLint
A SonarLint a SonarQube statikus kód elemző helyben futó változata. Ez a bővítmény lehetővé teszi, hogy már fejlesztés közben a szerveren beállított szabályrendszernek megfelelő kód kerüljön fel. A tool nagy előnye, hogy szerver nélkül is működik és ingyenes. Viszont így csak az alapértelmezett szabályrendszer érhető el.
Ez azonban nem feltétlenül rossz, mivel sokat lehet belőle tanulni így is, de azért a képességeinek kihasználásához nem árt egy szerver. Ennek telepítése szerencsére nem olyan vészes, főleg docker segítségével.
https://www.sonarlint.org/visualstudio
6. License Header Manager
Open Source és zárt forrású fejlesztés során is elvárás szokott lenni, hogy a fájl eleje egy kommenttel kezdődjön, ami a forráskód licencéről ad információt.
Ezeknek a kommenteknek az elhelyezése manuálisan nem egy nagy móka. Ennek a folyamatnak az automatizálásában segít a License Header Manager, amivel egyszerűen konfigurálható, hogy milyen header infót kapjanak a fájlok és pár kattintással az egész forráskódon végigfuttatható.
https://marketplace.visualstudio.com/items?itemName=StefanWenig.LicenseHeaderManager
7. Productivity Power Tools
A Productivity Power Tools egy több kiegészítőből álló csomag, tele van hasznos Visual Studio kiegészítőkkel, amik tipikusan olyanok, hogy önmagadtól nem gondoltál volna rá, hogy szükséged van, vagy lesz rá, de amint elkezdted használni őket rácsodálkozol, hogy eddig hogy tudtál nélkülük élni?
A hatásvadász felvezetést félretéve ez egy valóban jó kiegészítő. Az alábbi linken a teljes csomag telepíthető, de ha csak 1-2 funkcióra van szükséged, akkor a csomag eszközei külön-külön is telepíthetőek.
Visual Studio Code bővítmények
A Visual Studio Code számomra a másodlagos szerkesztő. Leginkább Markdown fájlok, JavaScript és HTML szerkesztésre szoktam használni Az általam használt két plugin:
1. Markdown All in One
A Code egész jó Markdown támogatással érkezik alapból, ezért akár bővítmények nélkül is jól használható. Ez a bővítmény azonban nagymértékben megkönnyíti a szerkesztési élményt.
https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one
2. JS-CSS-HTML Formatter
A jó kód egyik ismertetőjele számomra, hogy szépen van formázva. Viszont manuálisan formázgatni a kódot nem a világ legjobb időtöltése, ezért webes dolgokhoz én ezt a Formattert szeretem használni.
https://marketplace.visualstudio.com/items?itemName=lonefy.vscode-JS-CSS-HTML-formatter
Önálló programok
1. ILSpy
Az ILSpy minden .NET fejlesztőnek egy kötelező eszköz. A lefordított IL kódból (DLL és EXE fájlok) lehetővé teszi a forráskód visszanyerését C# kódba.
Számos hasonló eszköz van ilyen célra, azonban az ILSpy mellett szól, hogy ez ingyenes és aktívan fejlesztett, nem utolsó sorban pedig sokkal jobb, mint némelyik fizetős alternatívája.
https://github.com/icsharpcode/ILSpy
2. RoslynPad
A Visual Studio beépített C# interactive eszközéhez hasonló interaktív C# kódoló eszköz. Nagy előnye a VS megoldással szemben, hogy nem kell hozzá egy teljes Visual Studio, valamint .NET Core alapú, így C# 8.0 és 9.0 újdonságai is használhatók. Prototípizálásra, szemléltetésre baromi jó eszköz.
https://github.com/aelij/RoslynPad
bitben
2021.04.06. @ 09:56
A Roslynator-t és a Productivity Power Tools-t hamarosan ki is próbálom.
Nekem még kedvencem az Automatic Versions 2, ami dátum alapján készíti nekem a verziószámokat.
https://marketplace.visualstudio.com/items?itemName=PrecisionInfinity.AutomaticVersions
Megnéznék egy NuGet csomagok összeállítást is, bár tudom, hogy az célspecifikus.
Ruzsinszki Gábor
2021.04.06. @ 12:43
Szia. Az általam már használt NuGet csomagokról a jövőben lesz majd egy írás 🙂