GoLand 2021.1 vous permet de générer et d'exécuter votre programme à distance via Docker, SSH et WSL 2, d'utiliser les fonctionnalités nouvellement prises en charge de Go 1.16, notamment //go:embed
, de générer rapidement du code à partir de JSON et de traiter plus facilement les erreurs grâce à de nouveaux correctifs rapides.
GoLand est plus qu'un simple IDE pour Go : en plus des fonctionnalités permettant de travailler avec le code Go, il apporte de nouvelles fonctionnalités pour JavaScript, TypeScript et les bases de données.
Vous préférez apprendre de manière interactive plutôt que de lire des cours ? Consultez le tutoriel What's New in GoLand 2021.1 disponible dans l'IDE sur l'écran Welcome.
Dans GoLand 2021.1, vous pouvez développer sur votre machine, avec tout le code source disponible localement, et cibler des ordinateurs distants pour exécuter votre code. Actuellement, l'IDE prend en charge Docker, SSH et WSL 2 (sous-système Windows pour Linux).
Dans Settings, cliquez sur Run | Manage Targets…, puis sur l'icône Add (+), et sélectionnez les cibles avec lesquelles vous souhaitez travailler. Après avoir terminé la configuration, vous devez spécifier la configuration d'exécution Run Configuration dans Run | Edit Configurations... et sélectionner la cible avec laquelle vous voulez travailler.
À partir de Go 1.16, vous pourrez intégrer des fichiers et des répertoires dans un binaire Go au moment du build.
Embedding works on a few types of variables: string
, []byte
, and embed.FS. Vous devez déclarer ces variables au niveau supérieur de votre paquet. Enfin, vous devez ajouter la directive //go:embed
pour que l'intégration fonctionne.
GoLand fournit la mise en évidence syntaxique du code, la navigation depuis les références à l'intérieur de la directive embed vers les fichiers et les dossiers de votre projet, la refactorisation Rename, Find Usages, la saisie semi-automatique du code et plusieurs inspections de code. Par exemple, GoLand vous avertira si vous essayez d'intégrer des fichiers dans une variable du mauvais type.
GoLand vous avertit des appels non valides de la méthode testing.T
Fatal
au sein d'une goroutine créée pendant le test.
Le correctif rapide dédié réécrira le code appelant t.Fatal
(ou une méthode similaire) afin qu'il signale l'échec du test avec t.Error
et quitte la goroutine de manière anticipée à l'aide d'une instruction return.
Dans Go 1.16, go vet détecte les utilisations incorrectes de asn1.Unmarshal
, en s'assurant que la valeur dans laquelle une tranche d'octets est unmarshallée n'est pas nulle.
GoLand 2021.1 fournit une vérification similaire avec un correctif rapide pour résoudre ce problème.
Générez un struct avec des champs et des balises à partir de JSON en un rien de temps, en copiant-collant simplement les données JSON dans l'éditeur.
Si vous souhaitez ajuster le JSON avant de générer un struct, appuyez sur Alt+Entrée pour appeler l'intention Generate type from JSON. GoLand ouvrira la fenêtre Generate Go type from JSON avec le JSON copié. Vous pouvez l'ajuster comme vous le souhaitez dans la fenêtre. Appuyez ensuite sur le bouton Generate : votre struct est prêt. Bien entendu, il est également possible de coller manuellement le JSON dans la fenêtre.
En outre, il est possible de convertir le JSON à l'intérieur d'un struct vide déjà existant. Pour ce faire, il suffit de cliquer sur ce struct vide et d'appeler l'action d'intention Generate struct fields from JSON en appuyant sur Alt+Entrée ou via le menu Generate.
En outre, GoLand vous avertira si le code JSON utilisé dans la fenêtre Generate Go type from JSON n'est pas valide.
Il est bien plus facile désormais de créer des balises JSON et XML pour tous les champs exportés du struct.
Si vous utilisez Alt+Entrée pour appeler Add key to tags sur le struct ou sur l'un de ses champs, GoLand ajoute une balise à tous les champs du struct comportant un nom de champ. Si vous souhaitez modifier le style du nom du champ pour toutes les balises, appuyez à nouveau sur Alt+Entrée sur n'importe quelle clé et choisissez Change field name style in tags. Les styles nomChamp
, NomChamp
, nom-champ
et nom_champ
sont pris en charge.
Vous pouvez actualiser toutes les valeurs des balises en une seule fois avec l'action d'intention Update key value in tags. Appuyez sur Alt+Entrée sur n'importe quelle valeur de balise dans votre struct et GoLand ajoutera des carets à la fin des valeurs de balise dans chaque champ.
De plus, l'IDE propose une saisie semi-automatique pour les jetons connus à l'intérieur des valeurs de balises fournies par le SDK pour le code JSON, XML et ASN.1.
Enfin, GoLand 2021.1 prend en charge le format JSON Lines délimité par de nouvelles lignes, utilisé pour travailler avec des journaux et des données structurées. L'IDE reconnaît les types de fichiers .jsonl
, .jslines
, .ldjson
et .ndjson
.
Dans ce format, les fichiers contiennent plusieurs lignes et chaque nouvelle ligne est un objet JSON séparé par un caractère de nouvelle ligne. Les virgules ne sont pas requises au début ni à la fin des lignes et il n'est pas non plus nécessaire de placer l'intégralité du contenu du fichier entre crochets ou accolades.
Nous avons ajouté toute une gamme de correctifs rapides à l'inspection de code Unhandled Error :
if error not nil
. defer
et go
, produit un code similaire à Handle error mais enveloppe tout dans des accolades. defer
et go
. Le correctif rapide consiste à affecter les résultats de l'appel à des variables vierges et à envelopper le tout dans des accolades. Nous avons élargi le champ d'application du correctif rapide qui traite l'incompatibilité de type. Il suggère désormais d'implémenter une interface et de convertir vers le type attendu dans les littéraux composites également.
Non seulement le correctif rapide Create Type propose de créer un type lorsque GoLand remarque que vous en utilisez un qui n'a pas encore été défini, mais il crée également des champs pour vous.
Générer les méthodes get
et set
pour chaque champ dans d'énormes structs peut être assez fastidieux. Vous pouvez maintenant les générer pour l'ensemble du struct en une seule fois.
Appuyez sur Alt+Entrée sur un nom de champ du struct, puis choisissez Generate getter and setters dans le menu déroulant. GoLand ouvrira la fenêtre Select Fields, dans laquelle vous pourrez générer des méthodes get
et set
pour tous les champs ou seulement pour ceux dont vous avez besoin.
La refactorisation Extract Type vous permet d'extraire un type à partir d'un type existant ou de convertir un type de structure anonyme en un type nommé. Appuyez sur Ctrl+Alt+Maj+T pour l'appeler.
Il est parfois nécessaire de renommer un module une fois que vous avez suffisamment avancé sur le projet et terminé tout le travail initial. Nous avons donc ajouté la refactorisation Rename au fichier go.mod. Elle vous permet de renommer le module en toute sécurité, sans devoir effectuer une recherche et un remplacement dans l'arborescence du projet pour remplacer l'ancien nom du module.
Appelez la refactorisation Rename sur le nom du module avec Maj+F6. GoLand ouvrira la fenêtre Rename, dans laquelle vous pourrez modifier le nom actuel, choisir de le modifier ou non dans les commentaires et les chaînes de caractères, et prévisualiser les résultats de la refactorisation. Depuis l'onglet Refactoring Preview, vous pouvez naviguer vers toutes les occurrences de ce nom de module. Vous pouvez utiliser « undo » pour annuler rapidement toutes les modifications apportées par la refactorisation.
Tapez .varCheckError
après un identifiant qui renvoie une erreur et l'IDE ajoutera automatiquement des noms de variables par défaut et renverra l'erreur à partir de la fonction.
L'outil de mise en forme intégré peut désormais regrouper les importations de la même manière que goimports -local.
Pour cela, rendez-vous dans Settings | Editor | Code Style | Go | Imports et activez le regroupement des importations. Vous pouvez ensuite préciser quelles importations doivent être regroupées dans des blocs distincts.
GoLand 2021.1 vous permet d'exécuter une session sudo étendue. Lors de la première exécution, GoLand vous demandera si vous souhaitez maintenir l'exécution de sudo ou l'arrêter immédiatement. Si vous souhaitez modifier votre réponse, cliquez sur Settings | Appearance & Behavior | System Settings | Process Elevation.
Notez qu'en activant cette option, vous donner accès à votre système à GoLand et à l'ensemble des plugins tiers.
Nous avons activé la saisie semi-automatique par machine learning. Cette modification marque les premières heures de la saisie semi-automatique du code basée sur l'apprentissage automatique (ML), qui est une alternative au mécanisme de classement standard.
Cochez Mark position changes in completion popup dans Settings | Editor | General | Code Completion pour signaler les options reclassées par la saisie semi-automatique par machine learning avec des icônes de flèche vers le haut ou le bas dans la liste de saisie semi-automatique.
Le widget Configuration, auparavant situé en bas à gauche de l'IDE, a été remplacé par un menu accès rapide. Ce nouveau menu s'affiche en haut à droite. Appuyez sur l'icône d'engrenage pour changer de thème ou de modèle de clavier, naviguer vers des plugins ou accéder aux paramètres.
Vous pouvez désormais accéder à vos projets récents en cliquant droit sur l'icône GoLand dans la barre des tâches ou dans le menu Démarrer de Windows.
Les infobulles s'affichent maintenant les unes après les autres pour empêcher leur chevauchement.
Vous pouvez désormais sélectionner les variantes de police dans le volet Settings | Editor | Font.
Nous avons ajouté un nouvel aperçu de navigateur intégré pour prévisualiser rapidement les fichiers HTML. Toute modification apportée aux fichiers HTML dans l'IDE, ainsi que dans les fichiers CSS et JavaScript associés, sera immédiatement enregistrée et l'aperçu sera instantanément mis à jour.
Pour ouvrir l'aperçu, cliquez sur le logo GoLand dans le widget situé en haut à droite de l'éditeur.
Vous travaillez sur plusieurs fichiers simultanément dans un éditeur fractionné et vous avez besoin de plus d'espace ? Double-cliquez sur l'onglet avec lequel vous travaillez pour agrandir la fenêtre de l'éditeur correspondante. Pour ramener cet onglet à sa taille initiale, il vous suffit de double-cliquer à nouveau dessus.
Le plugin Makefile Language (auparavant un plugin tiers), qui permet la prise en charge du langage GNU Make, est maintenant intégré par défaut. À partir de GoLand 2021.1, vous bénéficierez automatiquement de la mise en évidence de la syntaxe, de la documentation rapide, de la fonctionnalité Find Usages pour les cibles et de diverses actions de navigation et de saisie semi-automatique du code pour Makefile !
Code With Me, un nouveau service de JetBrains pour le développement collaboratif et la programmation en binôme à distance, est désormais intégré à GoLand.
Définissez les conditions d'accès pour votre projet et partagez le lien avec vos invité·es. Vos pairs n'ont même pas besoin d'avoir installé leur propre IDE pour collaborer avec vous. Les appels audio et vidéo intégrés et la messagerie instantanée permettent aux équipes de discuter du code, de partager des connaissances et de coopérer plus efficacement.
Pour les entreprises recherchant plus de sécurité, Code With Me sur site peut être installé et fonctionner en toute sécurité sur leur réseau privé.
Pour en savoir plus sur l'utilisation de Code With Me avec votre licence JetBrains actuelle, consultez la page Tarifs.
Nous avons apporté plusieurs améliorations à la boîte de dialogue Run/Debug Configuration :
Nous inaugurons une prise en charge expérimentale pour BuildKit, qui accélère considérablement la construction des projets. Vous pouvez activer cette option dans Run/Debug Configurations en cliquant sur Modify options puis en cochant Enable BuildKit (experimental).
Il vous suffit de cliquer sur l'icône de marteau à côté du nom de l'étape et l'IDE génèrera l'image à l'aide de BuildKit. Si vous ajoutez la section Run dans Run/Debug Configurations, l'icône changera. En cliquant dessus, non seulement vous génèrerez une image, mais vous exécuterez aussi un conteneur.
Si vous utilisez plusieurs instructions FROM
dans votre Dockerfile, chaque instruction FROM
débute un nouvel étage. Dans GoLand 2021.1, vous pouvez désormais plier les étapes, qui seront alors distinctement séparées par une ligne.
Si vous décidez d'arrêter un Dockerfile en cours d'exécution, vous pouvez tout simplement le faire dans la fenêtre d'outils Services. Sélectionnez l'élément en cours d'exécution, appelez le menu contextuel et cliquez sur Stop Deploy.
Lors de l'utilisation de Bind mounts, vous pouvez désormais saisir plus rapidement un chemin d'accès à un répertoire sur la machine hôte. Le mécanisme de saisie semi-automatique vous permet de sélectionner les macros et les variables d'environnement pour l'option Bind mount dans Run/Debug Configurations.
Dernier ajout, mais non des moindres : la saisie semi-automatique pour les noms d'image.
La documentation MDN est maintenant intégrée à GoLand. Cela permettra d'éviter les problèmes de connectivité avec le site Web de MDN et d'accélérer l'affichage de la documentation intégrée à l'éditeur dans vos fichiers HTML, CSS et JavaScript. La documentation intégrée à l'éditeur sera également plus complète. Par exemple, des détails sur les versions de navigateur prises en charge pour les API JavaScript s'affichent désormais.
Il est maintenant plus facile d'inspecter votre code CSS avec Stylelint. Vous pouvez désormais corriger les problèmes avec ce linter populaire en quelques clics. Survolez un problème dans votre fichier ou placez le curseur dessus et appuyez sur Alt+Entrée, puis sélectionnez Stylelint: Fix current file.
Par ailleurs, vous pouvez désormais spécifier un chemin d'accès au fichier de configuration sous le champ correspondant dans Settings | Languages & Frameworks | Style Sheets | Stylelint.
When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Vous pouvez également cliquer sur un sélecteur et appuyer sur Ctrl+Q pour voir ces informations dans la fenêtre contextuelle Documentation.
Nous avons amélioré le tri des données :
C'est la solution que nous proposons pour tous ceux qui souhaitent générer des instructions simples directement depuis l'explorateur de base de données. Les modèles dynamiques généraux couvrent de nombreux cas dans lesquels vous devez rédiger rapidement une requête simple. Mais nous comprenons aussi que lorsque vous êtes dans le contexte de l'explorateur de base de données et que vous vous concentrez déjà sur l'objet dont vous avez besoin, il peut y avoir une meilleure façon d'obtenir une requête simple utilisant cet objet.
Select first N rows from a table ressemble à un modèle général (et peut être utilisé comme tel). Comme cette syntaxe spécifique ne peut pas être utilisée dans toutes les bases de données, les dialectes correspondants sont définis pour le modèle. La principale différence qui permet d'appliquer ce modèle dans l'explorateur de base de données est l'expression spéciale dbObjectName
, utilisée pour la variable $table$
.
Nous avons ajouté une interface utilisateur pour l'édition des autorisations lors de la modification des objets.
La fenêtre Modify user, que vous pouvez appeler sur un utilisateur dans l'explorateur de base de données avec Ctrl+F6, dispose désormais d'une interface utilisateur pour ajouter des autorisations aux objets.
Ceci est disponible pour PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server et Sybase.