GoLand 2021.3 propose une prise en charge native pour les projets Go en WSL, la refactorisation Inline Function et la prise en charge du développement à distance en mode Bêta.
À partir de cette version, gofmt
lors de la sauvegarde est activé par défaut. GoLand 2021.3 apporte également plusieurs améliorations pour le débogueur, comme Delve pour ARM64 ou l'option Show Types.
Deux nouveaux postfix pour convertir les chaînes de caractères en nombres et un nouveau modèle pour les tests de table avec les assertions testify
ont été ajoutés et la saisie semi-automatique pour les valeurs dans les balises struct a été améliorée.
Comme d'habitude, la nouvelle version de GoLand apporte des améliorations en matière de développement web et plusieurs nouvelles fonctionnalités pour travailler avec les bases de données.
Si vous préférez une approche interactive pour découvrir les nouvelles fonctionnalités, suivez le tutoriel Nouveautés de GoLand 2021.3 que vous trouverez sur l'écran de bienvenue.
Nous avons ajouté la possibilité d'ouvrir un projet dans WSL et de spécifier un SDK qui s'y trouve.
Si vous créez ou ouvrez un projet dans WSL, GoLand vous indiquera que pour ce projet, vous devez utiliser un SDK Go dans WSL. Vous pouvez télécharger un SDK Go ou choisir un SDK dans le sous-répertoire \\wsl$
.
gofmt
lors de l'enregistrement L'option Reformat code, qui vous permet d'exécuter gofmt
et l'outil de mise en forme de GoLand lors de l'enregistrement, est maintenant activée par défaut.
Pour avertir les utilisateurs de ce changement, une notification s'affichera une fois dans chaque projet. Vous pouvez la désactiver en cliquant sur Don't show again.
Vous pouvez cliquer sur Edit actions on save et l'IDE ouvrira Settings | Tools | Actions on save pour vous permettre de gérer les paramètres.
La refactorisation Inline est maintenant disponible pour les fonctions et les méthodes. Pour l'essayer, placez le curseur sur une fonction, une méthode ou un appel, puis appuyez sur Ctrl + Alt + N.
Lorsque vous appelez la refactorisation Inline, une fenêtre contextuelle s'ouvre avec plusieurs options. À partir de cette fenêtre contextuelle, vous pouvez également ouvrir l'aperçu de la refactorisation Refactoring Preview, qui vous aide à trouver tous les appels d'une méthode ou d'une fonction.
Nous avons amélioré le traitement des différents types de mots composés (camelCase, snake_case, etc.) lorsque vous ajoutez des balises dans des champs struct.
Lorsque vous remplissez une balise, GoLand vous propose une liste de plusieurs options. Une fois que vous avez fait votre choix, l'IDE s'en souvient et vous proposera le même style en premier dans la liste pour les autres champs de cette struct.
Deux nouveaux postfix permettent de convertir les chaînes de caractères en nombres. Saisissez un nombre entre guillemets, puis tapez un point, et GoLand vous proposera deux options pour analyser ce nombre : parseInt
et parseFloat
.
La fonction Show Usages a été améliorée. Vous pouvez désormais activer l'aperçu du code source pour une occurrence trouvée en cliquant sur l'icône de carré.
Vous pouvez maintenant donner des noms significatifs aux dossiers de la machine distante où sont stockés les sources et les exécutables de votre projet. Pour configurer les dossiers, accédez à Run | Manage targets | Additional Settings.
Il est désormais possible de définir une cible d'exécution par défaut pour l'ensemble du projet. Accédez à Run | Manage targets. Une fenêtre affiche l'option Project default target. Si vous choisissez une cible particulière pour le projet, toutes les nouvelles configurations seront créées avec cette cible.
Nous avons ajouté la nouvelle section HTTP/SOCKS Proxy dans SSH Configurations pour vous permettre de spécifier un serveur proxy. Vous trouverez cette section dans Settings | Tools | SSH Configurations. Vous pouvez également, à partir du projet ouvert, cliquer sur Run | Manage Targets | ...
nil
amélioréeEn Go, les interfaces ont deux composantes, un type et une valeur de ce type. Pour qu'une interface soit nil
, ces deux composantes doivent être nil
.
Si vous avez une interface dont la valeur contient un pointeur nil
vers un int
, cette interface ne sera pas égale à nil
, car le type interne n'est pas nil
(ils s'agit de *int
). Cela peut prêter à confusion.
Pour détecter de tels cas, nous avons modifié la représentation des interfaces dans l'onglet Variables de la fenêtre d'outils Debug. Par exemple, si vous avez une interface avec le type interne *int
et la valeur nil
, elle s'affichera comme ceci : {interface{} *int} *int(nil)
.
GoLand n'affiche plus le nom complet du paquet dans l'onglet Variables du débogueur. Vous ne verrez plus que la dernière partie du nom complet.
Si les types d'objets prennent trop de place dans l'onglet Variables, vous pouvez cliquer avec le bouton droit de la souris dans la zone de l'onglet et désactiver l'option Show Types dans le menu qui s'affiche. Vous pourrez la réactiver en la sélectionnant à nouveau dans le même menu.
À partir de cette version, GoLand intègre Delve conçu pour l'architecture ARM64 et le débogage sur Linux ARM fonctionne désormais automatiquement.
Nous avons également amélioré le message d'erreur lorsque GoLand n'intègre pas Delve pour des architectures spécifiques. L'IDE vous précise désormais explicitement la nature du problème.
testify
Nous avons ajouté un nouveau modèle pour les tests de table avec des assertions testify
. Si vous avez déjà utilisé assert
dans votre paquet, GoLand générera du code avec les assertions lorsque vous appuyez sur Alt + Ins et choisissez l'option nécessaire.
GoLand now has a quick-fix for an inspection that warns you about incorrect formatting of error strings: “Error strings should not be capitalized or end with punctuation”. Appuyez sur Alt + Entrée, et GoLand vous proposera de corriger le format de la chaîne.
Si vous avez écrit une fonction exportée qui renvoie un type non exporté, GoLand vous suggérera un correctif rapide pour exporter ce type.
context.TODO()
Nous avons ajouté une inspection qui met en évidence les occurrences de context.TODO()
. Vous pouvez l'activer dans Settings | Editor | Inspections. L'inspection servira de rappel pour modifier context.TODO()
si le Context
à utiliser n'était pas clair au moment de la rédaction.
//TODO implement me
Nous avons ajouté le commentaire //TODO implement me
pour les modèles générés lorsque vous utilisez l'action Implement Methods. Ces commentaires spéciaux sont mis en évidence dans l'éditeur, indexés et répertoriés dans la fenêtre d'outils TODO, ce qui permet de les utiliser comme des rappels des méthodes non implémentées.
GoLand prend désormais en charge une version bêta des workflows de développement à distance.
Vous pouvez configurer des workflows de développement à distance directement à partir de l'écran de bienvenue de GoLand. Vous pouvez aussi utiliser JetBrains Gateway, notre nouvelle application qui sert de point d'entrée à tous vos backends distants.
Vous trouverez sur cette page des instructions pour vos premiers pas en développement à distance.
Le client HTTP de GoLand prend maintenant en charge les requêtes gRPC et leur saisie semi-automatique. Si vous initiez vos requêtes par le mot clé GRPC
, le client HTTP les traitera comme des requêtes gRPC.
Vous pouvez générer automatiquement une requête gRPC dans le client HTTP en cliquant sur les icônes de gouttière dans vos fichiers .proto
.
Actuellement, le client HTTP peut exécuter des RPC unaires et en streaming serveur. Comme dans les requêtes HTTP ordinaires, le corps de la requête et les réponses sont des fichiers JSON simples.
Le client HTTP a reçu plusieurs améliorations dont vous trouverez les détails ici.
L'action Checkout and Rebase onto Current vous permet d'extraire la branche sélectionnée et de la rebaser sur une branche actuellement extraite. Elle est maintenant disponible pour les branches distantes.
Parfois, plusieurs commits sont prêts à être livrés alors que d'autres sont encore en cours de réalisation. Dans ce cas, il est préférable de n'envoyer en push que ceux en lesquels vous avez confiance.
Vous pouvez maintenant envoyer les commits en push jusqu'à celui que vous avez sélectionné dans l'onglet Log de la fenêtre d'outils Git. Pour cela, choisissez le commit auquel vous voulez vous arrêter, cliquez droit pour appeler le menu contextuel, et sélectionnez la nouvelle action Push All up to Here.
Nous avons amélioré l'accessibilité et l'organisation des paramètres VCS. Le nœud Version Control dans Settings répertorie désormais tous les paramètres disponibles.
La fonctionnalité Evaluate expression est désormais disponible dans l'onglet Variables de la fenêtre d'outils Debug.
Vous pouvez maintenant diviser la fenêtre d'outils Run en glissant-déposant les onglets dans la zone en surbrillance. Pour annuler cette division, cliquez droit sur le volet supérieur et sélectionnez Unsplit dans le menu contextuel.
Nous avons une nouvelle fenêtre d'outils Bookmarks. À partir de maintenant, tous les fichiers et dossiers que vous marquez comme importants à l'aide du raccourci F11 se retrouveront dans cette fenêtre.
Vous pouvez visualiser la différence entre deux instantanés sur un graphique de flamme. Appuyez deux fois sur Maj et saisissez « Open Profiler Snapshots » dans la barre de recherche. Ouvrez un instantané de la liste, répétez les mêmes actions, et ouvrez-en un autre.
Cliquez ensuite sur le bouton Compare With Baseline dans l'onglet de l'un des instantanés. Dans le menu, sélectionnez l'instantané auquel vous souhaitez comparer. Un onglet Diff distinct s'ouvrira avec les résultats de la comparaison.
GoLand’s terminal supports the new ConPTY API on Windows. We addressed several problems users were having with the old implementation, which was based on winpty, and enabled PTY on Windows by default.
Avec ConPTY, les couleurs 24 bits sont prises en charge dans le terminal intégré.
Auparavant, lorsque vous saisissiez des caractères dans le terminal de GoLand en travaillant sur une machine distante, l'IDE ne pouvait pas afficher les caractères aussi rapidement que sur une machine locale en raison de la latence.
Ce n'est plus un problème grâce à la prise en charge de typeahead. Notre terminal intégré prédit les modifications du texte et les affiche instantanément en gris clair.
import
Vous pouvez télécharger des modules ES6 distants à l'aide d'un correctif rapide sur le chemin d'importation dans les fichiers ES6. Le module sera téléchargé avec toutes ses dépendances. Pour l'essayer, placez le curseur sur le chemin d'importation, puis appuyez sur Alt+Entrée et sélectionnez Download module.
Nous avons amélioré la saisie semi-automatique du code en HTML. Chaque fois que vous saisissez un nom de balise ou une abréviation dans l'éditeur ou que vous invoquez la saisie semi-automatique de code, GoLand vous présente immédiatement des suggestions pertinentes.
Auparavant, il ne les montrait que si vous commenciez par saisir un crochet ouvrant (<
). La saisie semi-automatique du code pour les références aux entités de caractères a également été améliorée.
Vous pouvez mettre à jour vos paquets npm vers la dernière version directement depuis l'éditeur. Ouvrez votre fichier package.json
, placez le curseur sur la version du paquet que vous souhaitez mettre à jour, puis appuyez sur Alt+Entrée et sélectionnez Update … to the latest version.
GoLand a été mis à jour avec une action d'intention pour les projets JavaScript qui vous permet de mettre rapidement des éléments séparés par des virgules sur des lignes séparées, et, si nécessaire, de les remettre sur une seule ligne.
Nous avons ajouté la possibilité d'afficher le regroupement Aggregate view pour une plage de cellules. Sélectionnez simplement la plage de cellules pour laquelle vous voulez afficher la vue, puis cliquez droit et sélectionnez Show Aggregate View. Une valeur agrégée unique s'affiche dans la barre d'état, et vous pouvez désigner la valeur que vous souhaitez.
Si vous fractionnez l'éditeur et ouvrez la même table, les éditeurs de données seront complètement indépendants. Vous pouvez y définir des filtres et un tri différents.
Nous avons une nouvelle inspection pour les expressions booléennes dans les clauses WHERE
et HAVING
.
Si l'expression ne semble pas être explicitement booléenne, elle est mise en évidence en jaune et vous êtes averti avant d'exécuter une telle requête.
Cela fonctionne pour ClickHouse, Couchbase, Db2, H2, Hive/Spark, MySQL/MariaDB, Redshift, SQLite et Vertica. Dans toutes les autres bases de données, cela est signalé comme une erreur.
Dans l'éditeur de données, vous pouvez sélectionner plusieurs valeurs et naviguer vers les données correspondantes.
GoLand détecte les types de colonnes dans les fichiers CSV, et vous pouvez maintenant trier les données en fonction d'une valeur numérique. Auparavant, les données dans les colonnes étaient traitées comme du texte et le tri ne fonctionnait pas comme prévu.
filter {}
et sort {}
La saisie semi-automatique du code fonctionne désormais lors du filtrage des données dans les collections MongoDB.
Vous pouvez définir les polices pour l'éditeur de données séparément du reste de l'IDE. Pour choisir la police, cliquez sur Settings | Tools | Database | Data views | Use custom font.
Nous avons résolu certains problèmes d'accessibilité afin d'améliorer le confort du travail avec le lecteur d'écran. Nous avons désactivé la fenêtre contextuelle d'outils et celle de documentation rapide qui s'affichaient au passage de la souris.
La prise en charge de l'accessibilité sous macOS a également été renforcée. Nous avons résolu plusieurs problèmes liés à la mise au point de VoiceOver et rendu possible la création de projets à l'aide d'un lecteur d'écran. Pour minimiser les distractions pendant que vous codez, nous avons réduit le nombre d'infobulles d'aide qui émettent des sons.