2015-05-02 13 views
5

Pracuję nad projektem nodejs, w którym cały kod jest napisany maszynowo. Wynika to z mikroserwisu (a każda mikroserwis jest niezależnym projektem), dlatego wiele projektów musi być jednocześnie otwartych i debugowanych.Który edytor i debugger dla maszynopisu

Próbowałem Webstorm i Visual Studio (z NTVS), ale nie jestem usatysfakcjonowany z nich obu. Webstorm ignoruje wiele błędów kompilacji (bardzo ważne, ponieważ te zawiodą podczas CI), a nie tak dobre, jak wizualne studio w intellisense i łatwość użycia. Z drugiej strony, Visualstudio nie jest tak szybki, jak chcę. Również jestem związany z oknami, a problem z długością nazwy pliku w module node_modules jest bardzo częsty i denerwujący.

Inne (atom, VSCode) nie mają obsługi skryptów maszynopisu (czy też czegoś mi brakuje?).

Czy możesz podzielić się swoim doświadczeniem? Zastanawiam się także, który edytor google deweloperów może użyć do opracowania kątowego 2 :)

+1

Używam kodu VS już od jakiegoś czasu - i kocham go. Jest prosty i lekki i nie brakuje mi cięższego edytora Visual Studio! Wykonuję wszystkie swoje prace w wirtualnej maszynie Debian (ponieważ PM2 jest bardzo przydatny w świecie Linuksa i muszę trzymać się systemu Windows jako mojego podstawowego systemu operacyjnego) - otwieram projekty, które chcę debugować w kodzie VS i używam PM2 do uruchomienia pozostałe aplikacje. – w3dev

+0

Tutaj moja pomoc dla debugowania Angular 2 na VSCode ;-) http://stackoverflow.com/questions/42495655/how-to-debug-angular-z -vscode – Asesjix

Odpowiedz

3

Pracuję nad projektem TypeScript od 1,5 roku i jestem całkiem zadowolony z używania Visual Studio, ponieważ użyliśmy .NET dla back-end rzeczy. Dla siebie uważam prędkość za "Ok", nie jest tak dobra - ale inne rzeczy, np. intellisense jest tym, co naprawdę lubimy. Osobiście uważam, że jako "syn" Microsoft, TypeScript uzyska najlepsze wsparcie od swojego "kuzyna" - Visual Studio.

Jednak jeśli jesteś użytkownikiem Eclipse, możesz być zainteresowany tym typem (http://typecsdev.com/). Był też post Steve'a Fentona mówiący o IDE TypeScript, które być może cię interesuje (https://www.stevefenton.co.uk/Content/Blog/Date/201409/Blog/Which-TypeScript-IDE/). Wymienił kilka popularnych z kilkoma zdaniami komentarzy, w tym Atom i rozszerzenie atom-maszynopis.

+0

Obsługa VS dla TypeScript ma wiele problemów, takich jak zignorowanie plików 'tsconfig.json' na rzecz plików projektów VS, itp. NuGet również jest błędny. Niezalecane, nawet kod VS jest lepszy. – slikts

0

Ja też używam Visual Studio. Nie miałem żadnego problemu z jego prędkością; Uważam, że wszystko jest tak natychmiastowe, jak tego oczekuję.

Jednak nie korzystałem z projektów "TypeScript". Używałem generycznych projektów "Web" z plikami TypeScript. Ponadto nie korzystam z własnego zaplecza budowlanego i kompilacji Visual Studio; Używam własnych zadań Gulp dla mojego projektu (w tym przebudowy, oglądanie dla zapisów, zminimalizowania, testowania itp.) I Task Runner Explorer do zarządzania/uruchamiania ich z poziomu Visual Studio. Myślę, że jest to najlepsze z obu światów: radość i funkcje Visual Studio oraz elastyczność wykonywania własnych niestandardowych zadań niezależnie od platformy.

Muszę przyznać, że nie robię głębokiego debugowania (np. Breakpoints, stepping) z IDE. Czy VS robi to za pomocą TypeScript? Jeśli zauważę błąd podczas wykonywania (w przeglądarce), zawsze mam swoje mapy źródłowe wskazujące, gdzie jest błąd, więc wracam do kodu, próbuję go naprawić, zapisać i wczytać w przeglądarce.

1

Niezalecane, ale sugeruję, aby nie kupować produktów JetBrains (IntelliJ/WebStorm/ReSharper) do edycji TypeScript, chyba że zostały one prawidłowo ocenione.

Ponownie wykorzystali wiele swoich własnych logik dla innych języków, zamiast czerpać pełną korzyść z usługi językowej TypeScript, co oznacza, że ​​zachowują się bardziej jak wyrafinowany edytor JavaScript, który może zmylić pewne przypuszczenia w przeciwieństwie do niezawodnego środowiska IDE. statycznie napisana langauge. (Ich wnioskowanie o typie różni się od kompilatora i może oszukać cię, że wyrażenie bez typu (domyślnie any) jest dobrze napisane.) Wszystkie refaktoryzacje są takie same jak te JS, więc nie używają ani nie przechowują żadnych informacji o typie Nie są dostępne żadne refaktoryzacje oparte na informacjach (takie jak zmiana nazwy i przenoszenie).)

Jeśli chodzi o debugowanie, można mieć więcej przebiegów debugowania generowanego JS.Jest nie tylko dobrze obsługiwany, ale także ujawnia problemy występujące w kodzie wstawianym przez kompilator. To drugie byłoby trudniejsze do zrozumienia, jeśli patrzysz tylko na źródło TypeScript. Ponadto, w generowanym kodzie, można faktycznie ustawić punkty przerwania w jednoliniowych ciałach funkcji lambda.

+0

Zmiana nazwy Webstorm wydaje się być poprawna w prostym teście z shadowingiem. –

+0

Spróbuj zmienić nazwę eksportowanego elementu, a wkrótce stanie się interaktywnym zamiennikiem ciągów znaków zamiast inteligentnego. –

1

VSCode może debugować w węźle. Brak debugowania przeglądarki.

1

Trochę za późno na rozmowę.

Niedawno wypróbowałem VisualStudio 2015, VisualStudio Code 0.9, Atom (z pakietem Atom-Typescrip t). I całkiem wygodne z Atomem.

Atom-TypeScript używa najnowszej wersji TypeScript, dzięki czemu można używać wszystkich nowych funkcji, takich jak async/await, interpolacja ciągów itp. Pakiet stworzony przez społeczność, więc nie musimy czekać na większe wydanie IDE, aby użyć nowego TypeScript cechy.

Do debugowania nie można go znaleźć. Ale lubię używać node-inspector ze względu na jego niewielki ciężar. Problem polega na debugowaniu go w javascriptowej wersji, a nie w wersji maszynowej. Nie jestem tego pewien, ale może jeśli możesz dostarczyć plik mapy, możesz debugować wersję maszynopisu? jak mamy w Inspektorze Google Chrome.

0

Używam VSCode do aktywnego debugowania aplikacji kątowej/węzła/maszynopisu. To działa, ale będziesz musiał zrobić trochę konfiguracji/konfiguracji. Musisz powiedzieć VSCode, jak debugować swoje aplikacje. Na przykład mam wiele opcji w mojej konfiguracji launch.json, aby debugować moje skrypty gulp, mój plik node.js serwera i aplikację kątową/maszynopis poprzez chrome, używając rozszerzenia "Debugger dla Chrome" zainstalowanego w VSCode. Jest to możliwe z pewną konfiguracją. Wreszcie, w zależności od twojej dokładnej sytuacji, być może będziesz musiał poprawnie skonfigurować pliki map dla twojego projektu z javascript na maszynopis.

Miałem również problem ze ścieżkami plików zbyt długo w folderze node_modules w visual studio podczas otwierania projektu z npm. Wynika to z tego, że Visual Studio próbuje pobrać wszystkie pakiety - niepoprawnie, więc mogę je dodać. Jedynym sposobem uniknięcia tego w moim projekcie było oznaczenie folderu node_modules jako ukrytego folderu w oknach (tylko na najwyższym poziomie).