Nouveautés de GoLand 2018.3

Bonjour, Habr! Une nouvelle version de GoLand 2018.3 est sortie la semaine dernière.




Dans cette mise à jour, vous trouverez de nombreuses améliorations pour le débogage et les tests. Ce sont des applications de débogage sur la plate-forme Google App Engine, le framework Testify, l'analyse des vidages de mémoire et Mozilla rr.


Il y a un nouveau refactoring de changement de signature , une inspection de code et une auto-complétion pour les fonctions.


De plus, nous avons ajouté la prise en charge des graphiques, des refactorisations Renommer et Inline améliorées, travailler avec des modèles Go ( texte / html ) et un système de contrôle de version pour les plugins Git, Docker et Kubernetes, et bien plus encore.


Modifier le refactoring de signature


Modifier la refactorisation de signature modifie la signature des fonctions et des méthodes. Il permet de définir un nouveau nom ou de déplacer, renommer, ajouter ou supprimer des paramètres.


Si vous modifiez la signature de la méthode, GoLand vous proposera de mettre à jour l'implémentation.


Avant d'appliquer la refactorisation, regardez ce qui se passe dans le panneau d'aperçu.


Une liste de tous les fichiers et objets auxquels le refactoring est appliqué s'affiche dans le panneau. Si vous avez besoin de plus de détails, à partir du panneau, vous pouvez accéder à n'importe quel symbole modifiable dans le projet. Si le résultat ne répond pas aux attentes, les modifications peuvent être annulées.




Renommer et refactoring en ligne


Renommer avertit désormais des conflits potentiels résultant d'un changement de nom. Nous avons ajouté un dialogue qui rend compte du problème et propose de faire un choix: ignorer le conflit, envisager ou annuler la refactorisation.




Le résultat de l'application du refactoring en ligne est désormais immédiatement visible: GoLand met en évidence le code modifié.




DĂ©bogage d'une application Google App Engine


Dans la nouvelle version, le débogueur vous permet d'exécuter et de déboguer des applications sur la plate-forme Google App Engine localement.


Nous avons également ajouté un nouveau modèle de projet - App Engine . Il contient app.yaml avec les paramètres de configuration de base et un fichier main.go avec un gestionnaire de requêtes.




Prise en charge de l'analyse de vidage de mémoire


Parfois, les outils de débogage standard ne donnent pas une image complète de ce qui se passe avec le programme à certains moments de son exécution. Dans ce cas, les vidages de mémoire seront utiles.


Pour commencer à analyser un vidage de mémoire dans GoLand, sélectionnez Open Core Dump dans le menu Run .


Pour créer automatiquement des GOTRACEBACK=crash , entrez GOTRACEBACK=crash dans le champ Environnement de la configuration Exécuter .


Vous pouvez uniquement créer des vidages de mémoire sur Linux, mais vous pouvez les analyser sur macOS et Windows.




TĂ©moigner le soutien


GoLand 2018.3 prend en charge le framework Testify . Exécutez les suites de tests et les méthodes directement à partir de l'éditeur, comme les fonctions de test normales.


Dans la fenêtre Échec de la comparaison , comparez la valeur réelle et attendue si le test échoue.




Inspections du code


Deux nouvelles inspections de code sont apparues : erreur non gérée et code inaccessible.


Erreur non gérée met en garde contre les fonctions et les méthodes qui renvoient une erreur, mais il n'y a aucune vérification pour gérer cette erreur.




Le code inaccessible identifie des morceaux de code qui ne seront jamais exécutés.




En outre, l'inspection d' appel de fonction, qui vérifie si une expression doit être convertie en fonction ou en appel de méthode , est désormais en mesure de corriger automatiquement les erreurs à l'aide de la terminaison d'appel .




Complétion automatique


GoLand 2018.3 a introduit un nouveau type d'auto-complétion pour les fonctions. Imaginez que vous êtes nouveau dans le monde des golangs et que vous devez diviser la ligne. Vous savez qu'il doit y avoir une fonction pour cela, et très probablement elle est appelée " split ". Cette fonction doit prendre une chaîne comme premier argument, mais vous ne connaissez pas le nom exact de la fonction et de son package. Un nouveau type de saisie semi-automatique facilite la recherche de telles fonctionnalités.


Appelez l' achèvement de base deux fois (Ctrl + Espace + Espace) pour voir toutes les options d'achèvement disponibles.




Actions d'intention


L'argument Ajouter une chaîne de format génère un spécificateur de format pour l'expression donnée, insère le spécificateur dans la chaîne de format et transmet l'expression comme argument de spécificateur.




Generate Constructor crée une fonction spéciale pour initialiser les structures.




Générer getter / setter vous permet désormais d'éditer les paramètres de la fonction générée.




Generate Constructor , Generate getter / setter et Generate getter and setter sont désormais disponibles via le menu Générer .


DĂ©bogueur


Le dialogue entre Évaluer l'expression et le panneau Observateurs comprend désormais l'auto-complétion, les inspections et la correction automatique des erreurs.




Go Templates ( html / template )


Les modèles Go ( html / template ) fonctionnent avec la complétion de code et le refactoring Renommer , vous pouvez maintenant passer de n'importe quel caractère à leur lieu d'utilisation, et la mise en forme s'est améliorée.




Mozilla rr


Nous avons ajouté le support rr de Mozilla au débogueur Linux. Enregistrez et lisez le programme en utilisant seulement deux boutons. Pour commencer le débogage, vous devez installer Mozilla rr .


Sinon, tout fonctionne de la même manière que dans le débogueur standard, à l'exception du bouton spécial de rembobinage pour Mozilla rr. Il redémarre le programme au point d'arrêt précédent.




Graphiques


Nous avons ajouté le support graphique pour la visualisation:


  • les dĂ©pendances Ă  l'intĂ©rieur des projets de modules Go;
  • relations entre les modules importĂ©s et exportĂ©s dans les projets JavaScript et TypeScript;
  • relations entre les tables des bases de donnĂ©es et SQL.



Recherche et navigation


Les boîtes de dialogue Rechercher dans le chemin d'accès et Remplacer dans le chemin d'accès fonctionnent désormais avec des extraits de code multilignes.




La zone de recherche, Rechercher partout , est plus rapide et combine les actions Aller au type , Aller au fichier , Aller au symbole et Rechercher . Utilisez TAB pour basculer entre les onglets.




Améliorations de l'éditeur de code


De nouvelles icônes dans l'éditeur vous indiqueront non seulement quelles méthodes ont été redéfinies, mais vous aideront également à passer d'une telle méthode à une autre en un seul clic.




L'instruction actuelle complète insère automatiquement une virgule dans les littéraux composés (structures, dictionnaires, etc.) et place le curseur à la position de l'instruction suivante.




Dans GoLand 2018.3, vous pouvez définir un ensemble de fichiers auxquels les actions Reformater le code , Optimiser les importations et Réorganiser ne s'appliqueront pas .




L'IDE prend en charge les commentaires TODO sur plusieurs lignes pour les fichiers dans Go, JavaScript, TypeScript, CSS et SCSS.




Système de contrôle de version


L'intégration avec Git affiche désormais les demandes de vérification des modifications pour le référentiel dans une nouvelle fenêtre - GitHub Pull Requests , et prend également en charge les sous-modules Git.




La disponibilité


Nous avons ajouté un nouveau thème à contraste élevé et amélioré la prise en charge des lecteurs d'écran.




Docker


Le plugin docker prend en charge les arguments CLI dans les configurations d' exécution . Les arguments suivants peuvent être utilisés dans le nouveau champ Build de la configuration de démarrage Dockerfiles : cache-from, cpu-shares, cpuset-cpus, force-rm, label, memory, memory-swap, shm-size, no-cache, pull, quiet, rm.




Plugin Kubernetes


L'achèvement du code, le renommage refactoring, les inspections de code et les correctifs rapides fonctionnent dans les modèles Helm.




Autres changements


  • L'action Attacher se trouve maintenant dans le menu Ouvrir un projet , ce qui vous permet d'ajouter un rĂ©pertoire dès que vous ouvrez un nouveau projet.
  • Vous pouvez maintenant ouvrir le projet en le faisant glisser vers la fenĂŞtre de bienvenue.
  • Le Moniteur d'activitĂ© indique la quantitĂ© de ressources processeur utilisĂ©es par divers sous-systèmes et plug-ins: Aide | Moniteur d'activitĂ©.
  • La recherche et la mise Ă  jour de plugins dans l'EDI sont devenues plus pratiques. La page des plugins prend en charge la recherche par tags et le tri des rĂ©sultats par tĂ©lĂ©chargement, nom, note, recommandĂ© ou mis Ă  jour.
  • L'indexation des projets est beaucoup plus rapide.

C’est tout! Comme toujours, nous serons ravis de connaître votre avis: écrivez-nous ici dans les commentaires, sur Twitter ou dans le bug tracker :)


Vous pouvez télécharger la mise à jour sur la page de téléchargement ou via l' application Toolbox .


Au cas où, je vous rappelle que si vous utilisez déjà IntelliJ IDEA Ultimate, alors toutes les fonctionnalités de GoLand sont disponibles juste là: installez simplement ce plugin .


Merci de votre attention!

Source: https://habr.com/ru/post/fr431668/


All Articles