Visual Studio to potężne narzędzie, ale jeśli kiedykolwiek próbowałeś w nim pracować przez cały dzień na Macu albo męczyłeś się z jego kaprysami przy większym rozwiązaniu, wiesz, o czym mówię. Od kilku lat korzystam z JetBrains Rider i za każdym razem, gdy muszę wrócić do VS-a, mam wrażenie, że cofnąłem się w czasie. A od 2024 roku doszedł argument, który zabija dyskusję: Rider jest darmowy do użytku niekomercyjnego.
W tym wpisie pokażę ci, jak w dziesięć minut postawić czysty projekt Web API w .NET 10, który będzie startem dla wszystkich kolejnych materiałów z tej serii.
Darmowy Rider — co się zmieniło w 2024
Przez lata głównym argumentem „za" Visual Studio była cena. Community Edition — darmowe, w miarę kompletne, dla jednoosobowych projektów i nauki w zupełności wystarczające. Rider w tym porównaniu wypadał jak luksus: płatna subskrypcja JetBrains, niby niedroga, ale dla hobbysty albo studenta bariera wejścia realna.
W 2024 JetBrains zmienił model. Rider — tak samo jak WebStorm — dostał plan non-commercial use, czyli darmowy do nauki, projektów open source, hobbystycznych eksperymentów i tworzenia treści (YouTube, blog, kursy). Płacisz tylko wtedy, kiedy robisz na nim coś, na czym zarabiasz — w firmie, u klienta, w komercyjnym produkcie.
Visual Studio to świetny IDE, ale Rider mnie po prostu mniej frustruje. Nie walczę z narzędziem, tylko piszę kod.
Dla mnie to oznacza jedno: mogę śmiało polecać go początkującym, którzy zaczynają przygodę z .NET-em. Nie muszą przechodzić przez Community Edition tylko po to, żeby potem i tak w pracy przesiadać się na coś innego. Mogą od razu usiąść do tego samego narzędzia, na którym pracują seniorzy w wielu firmach.
Instalacja Rider — szybko i bezboleśnie
Proces jest banalny:
- Wchodzisz na jetbrains.com/rider.
- Klikasz Download, wybierasz system (macOS, Windows, Linux — wszystkie wspierane).
- Odpalasz instalator.
- Przy pierwszym uruchomieniu wybierasz plan Non-commercial use (jeśli nie odpalasz tego na komercyjnym projekcie).
Polecam pobrać Rider przez JetBrains Toolbox zamiast bezpośrednio. Toolbox to mały menadżer, który trzyma ci wszystkie IDE JetBrains w jednym miejscu i aktualizuje je w tle. Jeśli kiedyś dojdzie CLion, WebStorm albo DataGrip — masz je wszystkie pod jednym dachem.
Do Ridera przyda ci się jeszcze .NET 10 SDK. Pobierzesz go z dotnet.microsoft.com/download. Bez SDK Rider nie ma z czym pracować.
Pierwszy projekt Web API w .NET 10
Po włączeniu Ridera zobaczysz ekran startowy z listą ostatnio otwieranych projektów. Klikasz New Solution.
Po lewej stronie masz listę presetów — od pustej solucji, przez projekt konsolowy, bibliotekę klas, aż po aplikacje webowe. Nas interesuje ASP.NET Core Web Application.
Teraz konfiguracja — i tu kilka rzeczy, na które warto zwrócić uwagę:
- Solution name — nadaj coś sensownego, np.
Testalbo nazwę projektu, który budujesz. - Project name — może być ten sam co solucja, ale lepiej wydzielić. Ja robię
Test(solucja) +ProjectlubApiwewnątrz. Dzięki temu widzisz strukturę: jedna solucja, w środku potencjalnie wiele projektów. - Solution format — wybierz .slnx zamiast klasycznego
.sln. To nowy, czytelniejszy format XML-owy, dużo wygodniejszy w obsłudze i w mergowaniu konfliktów w Gicie. - SDK — wybierz najnowsze dostępne. W momencie nagrywania to .NET 10.
- Template — dla Web API wybierasz Web App (ASP.NET Core). Pomijasz dodatkowe opcje typu HTTPS czy OpenAPI — odtworzymy je później ręcznie, jeśli będą potrzebne.
Nie klikaj bezmyślnie „create repository" w kreatorze. Lepiej zainicjować gita później, kiedy wiesz, co chcesz commitować, a czego nie.
Klikasz Create. Rider mieli chwilę, restore'uje pakiety NuGet, otwiera solucję. Widzisz pięć plików:
Program.cs— punkt wejścia, minimal API style.Project.http— plik do odpalania requestów HTTP bez Postmana.appsettings.json— konfiguracja podstawowa.appsettings.Development.json— konfiguracja dla środowiska dev.Project.csproj— definicja projektu.
To jest twoja czysta baza. Nic więcej nie potrzebujesz, żeby zacząć.
Launch settings — czyszczenie startu
Jedna rzecz, którą robię zawsze po utworzeniu nowego projektu: wchodzę w Properties/launchSettings.json i sprzątam. Domyślnie Rider (i VS) tworzy trzy profile:
http— uruchamia aplikację na HTTP.https— to samo, ale z certyfikatem self-signed.IIS Express— stary, wyjątkowo zbędny.
Lokalnie nie potrzebuję HTTPS-a — certyfikat dev to więcej kłopotu niż pożytku. Zostawiam tylko profil http, zmieniam mu nazwę na Api (albo cokolwiek sensownego) i ustawiam launchBrowser na false, żeby mi się przeglądarka nie otwierała przy każdym F5.
Jeśli wolisz CLI, cała ta procedura sprowadza się do kilku komend:
dotnet new sln -n Test --format slnx
dotnet new webapi -n Project
dotnet sln add Project/Project.csproj
cd Project
dotnet run
Różnica? Rider zrobi ci to w GUI, ze wszystkimi domyślnymi ustawieniami i podpowiedziami. Ale jeśli pracujesz w CI/CD albo stawiasz projekty na VPS, warto znać też drogę przez dotnet.
Debug vs standard — codzienność z Riderem
Po odpaleniu projektu w trybie standardowym (zielony trójkąt) aplikacja startuje szybko, bez narzutu debuggera. Jeśli potrzebujesz zatrzymywać się na breakpointach, klikasz w zielonego robaczka obok — aplikacja startuje w trybie debug.
Rider ma jedną rzecz, która mnie w VS-ie zawsze irytowała: hot reload działa. Po prostu działa. Zmieniasz kod, zapisujesz, aplikacja odświeża zmiany bez restartu. W VS-ie przy dużych solucjach to loteria — raz zadziała, raz nie, raz wysypie proces.
Drugi plus: integracja z narzędziami JetBrains. dotTrace, dotMemory, DataGrip — wszystko gra ze sobą natywnie, bez wtyczek, bez konfiguracji.
Co tracisz, co zyskujesz względem Visual Studio
Zyskujesz:
- Wydajność — Rider jest oparty o platformę IntelliJ, pisaną z myślą o dużych solucjach. W VS-ie przy 50+ projektach zaczyna się modlitwa do SSD. W Riderze po prostu działa.
- Refaktoryzacje — ReSharper wbudowany. Rename, extract, inline, move — wszystko z poziomu skrótu
Ctrl+Alt+Shift+T. W VS-ie musisz kupić ReSharpera osobno albo męczyć się z podstawowymi refaktorami z pudełka. - Cross-platform — macOS, Linux, Windows, to samo UI, te same skróty. Jeśli przesiadasz się między systemami, to bezcenne.
- Git integration — po pierwszych 20 minutach w Riderowym Git UI VS-owe Team Explorer wygląda jak relikt.
Tracisz:
- XAML designer — jeśli robisz WPF-a albo UWP z GUI designerem, Rider ma do tego słabą namiastkę. Prawdziwy projekt desktopowy na Riderze się nie uda.
- Niektóre enterprise'owe funkcje — IntelliTrace, Live Unit Testing, zaawansowany profiler w VS Enterprise. Ale to zabawki, które 95% developerów i tak nigdy nie włącza.
- Ekosystem rozszerzeń — VS ma więcej pluginów w Marketplace. Rider ma mniej, ale za to te, które są, działają porządnie.
Jeśli nie piszesz na co dzień WPF-a albo nie używasz VS Enterprise do zaawansowanego debugowania produkcyjnego, nie widzę żadnego realnego powodu, żeby nie dać Riderowi szansy. Szczególnie teraz, kiedy nic cię nie kosztuje.
Co dalej?
Ten projekt — czysty Web API w .NET 10 na Riderze — będzie startem każdego kolejnego odcinka z serii rekrutacyjnej. Zamiast za każdym razem zaczynać od zera, wracasz do tego szablonu i rozbudowujesz o konkretny temat: DI, middleware, autoryzację, testy, cokolwiek.
W następnym odcinku zajmiemy się formatem .slnx i porównamy go z klasycznym .sln — dlaczego warto się na niego przesiąść, kiedy jeszcze nie, i jakie ma to konsekwencje dla pracy zespołowej. Jeśli masz pytania albo chcesz, żebym pokazał coś konkretnego w Riderze, pisz w komentarzach pod filmem.

