VS Code i Unity3D

Do swojego nowego projektu miałem wykorzystać aż 3 narzędzia: ReSharper, OzCode i NDepend. Ograniczę się jednak do tego ostatniego, bo chcę prześledzić jak wygląda rozwój projektu, który jest podpięty od początku (ostatnio analizowałem gotowy projekt). Jako że NDepend posiada osobne IDE, nie widzę przeszkód żeby wypróbować VS Code. A wszystko przez jedno zdanie, które w piątek wypowiedział Shawn Wildermuth. Ale o tym w nadchodzącej relacji z Wroc#.

Zady i walety VS Code

Tak naprawdę o wadach będę mógł dopiero napisać po dłuższym okresie używania tego edytora tekstu. Tak, edytora tekstu. Sama instalka waży 32.8 MB i zawiera jedynie podstawowe funkcjonalności. To my decydujemy z jakich rozszerzeń skorzystamy, dociągając je przez zakładkę „Extensions”. VS Code nie został stworzony po to, żeby zastąpić Visual Studio, ale jako jego alternatywa. Pewnie na plus jest jego multiplatformowość, ale raczej nie planuję przesiadki na Linuxa, więc ten aspekt nie ma dla mnie większego znaczenia.

Dlaczego zdecydowałem się olać ReSharpera? Nie chcę się od niego uzależnić. W codziennej pracy oczywiście z niego korzystam, bo mam taką możliwość i chcę pracować jak najwydajniej. Ale osobiście nie posiadam licencji, poza tą konkursową, a dodatkowo R# potrafi całkiem ładnie zamulić VS. Pisząc kod do Unity3D nie potrzebuję 95% rzeczy, które musi obsługiwać Visual Studio. Do szczęścia wystarczy mi IntelliSense, snippety i od czasu do czasu debugger.

Integracja z Unity3D

VS Code składa się z 5 zakładek, widocznych na screenach poniżej, reprezentujących odpowiednio: Explorer, Search, Git, Debug, Extensions. Do świeżo zainstalowanego środowiska dociągnąłem 4 dodatki, z czego dwa ostatnie są opcjonalne – C#, Debugger for Unity, Unity Snippets, vscode-icons.

Od wersji 5.5 Unity wspiera edycję kodu z poziomu VS Code. Jako że pracuję na v5.5.1f1, wystarczyło wejść w Edit > Preferences, a następnie wyszukać ścieżkę do pliku .exe (domyślnie jest to C:\Program Files (x86)\Microsoft VS Code\Code.exe).

Debugowanie

Aktualnie dostępne jest okienko podobne do Locals – nazywane tutaj Variables. Koszystając z niego możemy w prosty sposób przerzucić zmienne do Watch’a. Bardzo denerwującą rzeczą jest brak podświetlenia wartości zmiennej, po najechaniu na nią myszą. Mam nadzieję że zostanie to obsłużone, bo jednak tego sposobu używam najczęściej. Jest na to od roku otwarty ticket na GitHubie, ale nie widać żeby coś się ruszyło w tym temacie.

Podgląd zmian

W prosty sposób możemy także podejrzeć zmiany w zaktualizowanych plikach. Zdecydowanie wolę taką opcję, niż podgląd różnicy w konsoli. Nie mam zamiaru jednak korzystać z tej zakładki do wrzucania zmian do repozytorium, bo w tym temacie nie ufam Visualom. Od tego mam Git Bash’a.

Reszta zakładek to przeglądarka plików, search/replace oraz dodawanie rozszerzeń. Te ostatnie możemy wyszukiwać wewnątrz VS Code, jak i przez marketplace. Jeśli podczas pracy z VS Code napotkam jakieś błędy – dopiszę na dole tego posta.