GoLand 2020.3 Beta


Rozpoczął się ostatni cykl EAP dla GoLand 2020.3. Wersja Beta jest stabilniejsza od wersji Early Access Program (EAP), jednak wciąż wymaga szlifów.

Przyjrzyjmy się jakie usprawnienia przynosi wersja Beta.

Debugger

Nowa ikonka Dump Goroutine w debugerze umożliwia łatwe wyszukiwanie gorutyn, które zawierają określony ciąg znaków na stosie podczas sesji debugowania. Wystarczy kliknąć ikonę, aby otworzyć zrzut w osobnym oknie.

Innym ulepszeniem debugera w tej wersji jest możliwość zatrzymania procesu za pomocą konfiguracji Go Remote, jeśli nie jest wymagane ponowne podłączenie.

Testing

Wsparcie dla testów tabelarycznych
Można uruchamiać i przechodzić do poszczególnych testów tabeli z okna narzędziowego Run.

Są jednak pewne ograniczenia:

  • Zmienne testowe muszą być wycinkiem, tablicą lub mapą. Muszą być zdefiniowane w tej samej funkcji co wywołanie i nie może być dotykane po inicjalizacji (z wyjątkiem klauzul zakresu w pętli for).
  • Indywidualny wpis danych testowych musi być literałem struktury. Zmienne pętli używane w wyrażeniu nazwy testu podrzędnego nie mogą być dotykane przed wywołaniem.
  • Wyrażenie nazwy podtestu może być polem tekstowym w danych testowych, konkatenacją pól ciągów danych testowych oraz wywołaniem fmt.Sprintf() ze słowami specjalnym %s  i %d.

Rozszerzone wsparcie dla Testify
IDE rozpoznaje teraz funkcję testową, która uruchamia zestaw testów i zapewnia sposób na uruchomienie pojedynczego zestawu suite.Run i suite.T().Run, o ile nazwa podtestu jest stałą łańcuchową. Ponadto możliwe jest ponowne uruchomienie podtestu z okna narzędziowego Run, aby uniknąć ponownego wykonywania całego testu najwyższego poziomu.

Inspekcja Kodu

Nieprawidłowe użycie funkcji takich jak Println/Printf spowoduje pojawieniem się ostrzeżenia o potencjalnych problemach w pakietach github.com/pkg/errors, github.com/sirupsen/logrus i go.uber.org/zap.
Ponadto dodano podświetlanie i zwijanie symboli zastępczych, a także podpowiedź Add format string argument.

Edytowanie Kodu

  • Dodano wsparcie dla pakietów czasu
  • Inteligentniejsza obsługa paczek
  • Obsługa nawiasów kwadratowych dla parametrów Type
  • Ulepszono narzędzia do sprawdzania pisowni i gramatyki