Découvrez comment coder avec Qoder CN.
Le nouveau site de documentation de Qoder CN est désormais disponible. Le contenu de ce site peut ne pas refléter les dernières fonctionnalités et modifications du produit. Consultez docs.qoder.cn pour accéder à la documentation produit la plus récente.
Utiliser les raccourcis clavier
Raccourcis clavier par défaut
Qoder CN propose des raccourcis clavier prêts à l'emploi. Le tableau suivant répertorie les plus courants :
|
Action |
Windows |
macOS |
|
Déclencher la complétion à n'importe quelle position |
|
|
|
Remplacer les résultats générés |
|
|
|
Accepter tout le code généré |
|
|
|
Accepter le code généré ligne par ligne |
|
|
|
Fermer ou ouvrir le panneau AI Chat |
|
|
Par ailleurs, dans le panneau AI Chat, appuyez sur Cmd+Enter (macOS/Linux) ou Ctrl+Enter (Windows) pour insérer un saut de ligne, et appuyez sur Enter pour soumettre votre question au modèle.
L'utilisation du raccourci clavier pour remplacer les résultats générés peut entraîner une augmentation du paramètre de température et produire parfois un contenu plus divergent.
Raccourcis clavier personnalisés
JetBrains IDE
Accédez à la page Settings.
-
Dans le volet de navigation de gauche, sélectionnez Keymap. Recherchez ensuite Qoder CN sous Plugins et développez-le pour afficher et modifier les raccourcis clavier associés.

VSCode
Cliquez sur l'icône des paramètres dans le coin inférieur gauche de l'IDE, puis sélectionnez le menu Keyboard Shortcuts.

-
Recherchez Qoder CN sur la page pour afficher et modifier tous les raccourcis clavier.
RemarqueLes raccourcis clavier dans VS Code sont majoritairement nommés Qoder CN pour faciliter leur identification. Toutefois, les raccourcis permettant de déclencher les suggestions en ligne, d'afficher la suggestion en ligne précédente et d'afficher la suggestion en ligne suivante suivent une convention de nommage différente, car ils réutilisent les noms de fonctionnalités existants.
Configurer les paramètres
Paramètres de l'IDE
JetBrains IDE
Accédez au menu principal et sélectionnez Settings, ou cliquez sur l'icône Qoder CN dans la barre d'état et sélectionnez Advanced Settings.

VSCode
Cliquez sur l'icône Qoder CN dans le coin inférieur droit de la barre d'état et sélectionnez Advanced Settings, ou cliquez sur l'icône d'engrenage dans le panneau AI Chat.
Éléments de configuration courants
-
Désactiver la complétion automatique par type de fichier.
-
Si la complétion automatique crée des interférences lors du travail avec certains types de fichiers, ajoutez ces extensions de fichier à la liste. Séparez plusieurs extensions par des virgules (par exemple : txt,md).
IDE
Configuration
JetBrains IDE

VSCode
RemarqueVous pouvez désactiver la complétion automatique pour des types de fichiers spécifiques afin d'éviter le déclenchement automatique de la complétion. Si vous utilisez le raccourci clavier Alt+P pour déclencher manuellement la complétion automatique pour ces fichiers, vous pourrez toujours utiliser la génération et la complétion de code basées sur les LLM.
-
-
Conserver les résultats de complétion lorsque les suggestions déroulantes apparaissent.
Par défaut, lorsque l'IDE affiche des suggestions de complétion déroulantes basées sur la syntaxe, Qoder CN cesse automatiquement d'afficher les complétions issues des grands modèles de langage pour éviter les conflits visuels.

-
Pour que Qoder CN génère toujours des complétions basées sur les LLM, sélectionnez cette option de configuration. Comme illustré ci-dessous, appuyer sur la touche Tab permet d'accepter les résultats générés par le grand modèle de langage.

IDE
Configuration
JetBrains IDE

VSCode

-
Contrôler la longueur maximale du code généré.
-
Qoder CN permet de définir différents paramètres de longueur de complétion de code pour les déclencheurs automatiques et manuels. Il est recommandé de configurer le déclencheur manuel (raccourci par défaut
Alt+P) pour générer des complétions légèrement plus longues que celles des déclencheurs automatiques.IDE
Configuration
JetBrains IDE

VSCode
RemarqueCette option de configuration définit uniquement la longueur maximale que le modèle est autorisé à générer. Si le contenu généré par le modèle lors d'une complétion est naturellement plus court, la modification de cette configuration ne forcera pas le modèle à générer un contenu plus long.
-
Utiliser les commentaires de code
Guider la complétion de code avec des commentaires
En l'absence de commentaires directeurs, le modèle ne peut prédire le code à venir qu'en se basant sur le contexte actuel et sur du code similaire trouvé dans les références du projet. Lorsque les prédictions du modèle sont imprécises, ajoutez des commentaires pour orienter le modèle vers l'implémentation du code souhaité.
Par exemple, dans le code suivant, le modèle prédit d'abord un champ
CHAT_CONTEXT, ce qui ne correspond pas à nos attentes.
Dans ce cas, ajoutez un commentaire pour instruire le modèle de générer un champ d'historique. Le modèle générera alors le champ attendu ainsi que le code de données correspondant.

Utiliser des descriptions pour générer des méthodes
Vous pouvez générer des méthodes entières à partir de commentaires, soit via la fonction Comment to Code dans l'éditeur, soit en utilisant le panneau AI Chat. Étant donné que l'AI Chat de Qoder CN utilise généralement des paramètres de modèle plus importants que le modèle de complétion de code, posez directement votre question dans le panneau AI Chat.

Si vous avez des exigences spécifiques concernant le langage ou la signature de la méthode (y compris le nom de la méthode, les types de paramètres et les types de valeur de retour), décrivez ces détails dans votre invite.

Utiliser les index inter-fichiers
Enregistrer les fichiers et mettre à jour les index
L'indexation inter-fichiers de Qoder CN est un mécanisme crucial pour prévenir les hallucinations de code. En identifiant automatiquement les types et les définitions de méthodes dans le contexte actuel, le modèle peut reconnaître les membres des types et les paramètres de méthode provenant d'autres fichiers du projet. Lors de l'ouverture initiale d'un nouveau projet, Qoder CN crée automatiquement l'index des fichiers du projet. Par la suite, chaque enregistrement de fichier déclenche une mise à jour incrémentielle de l'index pour ce fichier.
Toutefois, en raison de la mise en cache mémoire de l'IDE, lorsque vous passez à un autre fichier juste après en avoir modifié un, l'index local peut ne pas avoir été mis à jour pour prendre en compte le contenu nouvellement ajouté ou modifié, ce qui amène le modèle à raisonner sur la base de la structure de type originale. Par exemple, dans un projet de code, ajoutez une propriété vendable à l'objet Pet.Ensuite, basculez vers un autre fichier et essayez de laisser le LLM compléter le code, mais le modèle déduit la logique en utilisant un autre champ moins pertinent.

Pour éliminer cette divergence d'informations, appuyez activement sur
Ctrl+S(Cmd+Spour macOS/Linux) après avoir modifié le fichier précédent, avant de continuer à éditer d'autres fichiers. Cela garantit que le contenu généré référence correctement la structure de l'objet modifié.
Solution d'optimisation pour les scénarios MyBatis
Outre les capacités de référence inter-fichiers pour les langages de programmation courants tels que Java, Python et JavaScript, Qoder CN prend également en charge l'identification automatique des types de structure de table référencés par les objets Mapper lors de la rédaction de fichiers XML MyBatis. Par exemple, lors de la rédaction d'une instruction insert, Qoder CN utilisera les informations de type TaxiOrder présentes dans le projet actuel pour garantir que chaque champ généré est correct.

Gérer le contexte
Effacer le contexte en temps utile
Dans chaque flux de conversation, le contenu des conversations précédentes est automatiquement fourni au modèle comme contexte. Lorsque vous posez une question sans rapport avec le contenu précédent, ces informations supplémentaires peuvent interférer avec la réponse du modèle.
Cliquez sur New Chat en haut du panneau AI Chat pour démarrer un nouveau flux de conversation, ou utilisez la commande /clear context pour effacer le contexte existant sans démarrer un nouveau flux de conversation.
Afficher l'historique des conversations
Après avoir créé un nouveau flux de conversation, vous pouvez :
Utiliser la fonctionnalité d'historique des conversations pour revenir aux sujets précédents.
Continuer à poser des questions de suivi.

Poser des questions sur le code
Questions générales
Deux façons de poser des questions sur le code :
Collez le code dans la zone de chat.
Sélectionnez un morceau de code dans l'éditeur de code, puis posez des questions à son sujet, par exemple :

Tâches de code intégrées
Qoder CN dispose de quatre tâches de code intégrées :
Expliquer le code
Générer des tests unitaires
Générer des commentaires de code
Optimiser le code
Le LLM de Qoder CN a été spécialement entraîné pour ces tâches. Pour la génération de tests unitaires, utilisez la tâche intégrée requise au lieu de sélectionner du code et de saisir une méthode de génération.
Qoder CN prend en charge trois méthodes pour utiliser les tâches de code intégrées. La méthode la plus courante consiste à cliquer sur l'icône Qoder CN au début d'une définition de méthode et à sélectionner la tâche dans les options déroulantes.
-
Méthode 1 : Utiliser un menu déroulant dans un IDE.
IDE
Configuration
JetBrains IDE

VSCode

Méthode 2 : Sélectionnez le code, faites un clic droit et sélectionnez Qoder CN dans le menu contextuel.

Méthode 3 : Sélectionnez le code, tapez
/dans le panneau AI Chat pour activer le menu des tâches intégrées, puis sélectionnez la tâche appropriée.
Ingénierie des invites
Référencer du code dans les questions
Lorsque vous posez des questions, si vous sélectionnez du texte ou du code dans l'éditeur, la sélection sera automatiquement ajoutée à votre question au format de citation Markdown. Par conséquent, lorsque vous faites référence au code sélectionné dans votre invite, utilisez des expressions telles que « le code suivant » ou « ce contenu ». Par exemple :
Bon exemple : Vérifiez si le code suivant présente un risque d'erreur d'indice hors limites.
Mauvais exemple : Vérifiez si le code sélectionné présente un risque d'erreur d'indice hors limites. (Dans cet exemple, le modèle ne peut pas identifier le code sélectionné.)
Ajouter des contextes aux commandes
Ajoutez des informations complémentaires aux commandes pour fournir un contexte plus riche lors du chat, ce qui permet d'obtenir des réponses plus précises.

Générer du code efficace grâce à un chat multi-tours
Lors d'une conversation avec des grands modèles de langage, fournir un contexte plus riche conduit à des résultats plus précis et conformes aux attentes. Vous pouvez vous appuyer sur les tours de conversation précédents pour ajouter des informations contextuelles aux questions suivantes, permettant aux résultats générés de mieux refléter l'ensemble du contexte historique. Toutefois, lorsque les informations historiques précédentes deviennent perturbatrices, vous devez effacer le contexte en temps utile.
Sur la base du tour précédent, vous pouvez poser des questions de suivi plus approfondies.
Fournir des exemples au modèle
Lorsque vous souhaitez que le modèle produise un résultat dans un format spécifique ou suive certaines règles, fournir un exemple de référence fonctionne souvent mieux que de simples descriptions textuelles. Par exemple, pour formater les résultats de tests de programme dans une structure JSON spécifique, ouvrez d'abord le fichier, sélectionnez tout le contenu, puis posez des questions dans la zone de chat.
Comparez ces deux invites, dont la seconde produit une sortie plus cohérente :
Invite 1 (Moins efficace) : Organisez le fichier en un rapport de test au format JSON. Assurez-vous que les résultats de chaque cas de test sont organisés dans une structure JSON. Remplissez le champ name avec le nom du cas de test, le champ success avec le statut du cas de test, le champ duration avec la durée d'exécution en millisecondes et le champ coverage avec le ratio de couverture de test. Assurez-vous que le champ detail est au format JSON et inclut les champs input et output pour chaque cas de test.
-
Invite 2 (Plus efficace) : Organisez le fichier en un rapport de test au format JSON.
...Report content omitted...Reportez-vous à l'exemple suivant en tant que rapport d'entrée.
[ { "name": "If the page number exceeds the valid value range, the system is expected to return an empty list or prompt no-more-data", "duration": 3434, "coverage": 80, "detail": [ { "input": "…", "output": "…" } ] } ]