Au-delà de Tab et Cmd+K : configuration du curseur pour le contexte, la sécurité et l’échelle
Une visite guidée des fonctionnalités moins utilisées de Cursor, allant des règles ciblées et du contexte @ aux listes d’autorisation de exécution automatique, aux points de contrôle et aux agents en arrière-plan, ainsi que des avantages qu’offre chacune d’elles.
La plupart des développeurs découvrent trois fonctionnalités de Cursor durant leur première heure : Tab pour les complétions, Cmd+K (Ctrl+K sous Windows et Linux) pour les modifications en ligne, ainsi que le panneau de chat pour poser des questions concernant les fichiers ouverts. Beaucoup ne reviennent jamais modifier ces paramètres par la suite, ce qui fait que les fonctionnalités ayant le plus d’impact sur la vitesse et la sécurité restent inutilisées. Ce guide regroupe quinze de ces fonctionnalités plus avancées en fonction du problème qu’elles résolvent : éditer plus rapidement, fournir au modèle le contexte adéquat, choisir le mode approprié, assurer la sécurité des exécutions autonomes et étendre l’utilisation au-delà d’un seul répertoire. Cursor évolue rapidement, et certaines fonctionnalités ont été renommées, fusionnées ou supprimées entre les différentes versions ; considérez donc les noms et l’emplacement des menus comme un point de départ et vérifiez-les dans la documentation actuelle de Cursor.
Éditions plus rapides dans l’éditeur et la terminal
Tab prédit votre prochaine modification, et non seulement le token suivant
Tab est souvent considéré comme un outil d’autocomplétion plus intelligent, mais il fonctionne différemment. Il tient compte des modifications récentes dans tout le fichier, et non seulement du texte situé au curseur, afin de prédire la prochaine modification que vous êtes susceptible de faire ailleurs dans ce fichier. Si vous renommez une variable en haut d’un composant ou d’un widget, Tab sautera fréquemment vers l’avant et proposera de renommer ses utilisations ultérieures avant même que vous n’ayez affiché ces parties du fichier. Accepter une série de ces prédictions est souvent plus rapide qu’une opération de recherche et de remplacement, car Tab adapte également le code environnant au lieu de remplacer aveuglément des chaînes de caractères.
Cmd+K fonctionne également dans le terminal intégré
Le raccourci d’édition en ligne n’est pas réservé à l’éditeur. Dans le terminal intégré de Cursor, vous pouvez décrire en langage simple la commande shell dont vous avez besoin, et l’outil génère alors la syntaxe correspondante. Cela est pratique pour les commandes dont vous oubliez souvent les options, comme git rebase --onto. Lisez bien la commande générée avant d’appuyer sur Entrée, surtout lorsqu’elle concerne l’historique ou la suppression de fichiers.
Fournir au modèle le bon contexte
La qualité d’une réponse dépend fortement de ce que le modèle peut voir. Plusieurs fonctionnalités existent exclusivement pour contrôler cela.
@Codebase recherche dans l’ensemble du projet indexé
En mentionnant @Codebase dans une requête, Cursor parcourt l’index complet du projet à la recherche de fichiers pertinents, ce qui le libère des seules fenêtres ouvertes. Dans une application mobile contenant quinze fichiers de widgets, cela fait toute la différence entre que le modèle devine votre méthode de gestion d’état et qu’il localise réellement le fournisseur que vous avez déjà écrit. Dans les versions plus récentes, l’agent peut rechercher dans le codebase de sa propre initiative sans mention explicite ; vérifiez donc comment se comporte votre version.
@Docs indexe la documentation de tiers
Vous pouvez indiquer à Cursor l’adresse du site de documentation d’une bibliothèque afin qu’il l’indexe pour une utilisation en chat. Lors de l’intégration d’un nouveau paquet, cela évite de coller systématiquement des pages de documentation dans la conversation chaque fois qu’une question se pose, et permet aux réponses de s’appuyer sur l’API réelle de la bibliothèque plutôt que sur la mémoire du modèle à son sujet.
@Web permet à une session de vérifier ses propres affirmations
Lorsque le modèle affirme quelque chose concernant une API ou une version avec plus de certitude que ce qui semble justifié, @Web déclenche une recherche en temps réel au lieu de vous forcer à le vérifier dans un navigateur. Cela ne remplace pas la lecture des documents officiels, mais c’est un moyen rapide de détecter un nom de méthode inventé avant qu’il ne soit intégré dans votre code.
Règles ciblées dans .cursor/rules
Un fichier .cursorrules isolé dans la racine du répertoire est encore pris en charge, mais la structure plus récente consiste en un dossier .cursor/rules contenant des fichiers .mdc, chacun étant dédié à des motifs de fichiers spécifiques. Cela permet à un même répertoire d’abriter des ensembles de règles distincts, par exemple un pour les widgets Flutter et un autre pour les scripts Python, au lieu d’un seul fichier trop volumineux qui tenterait de couvrir tout le monde et diluerait chaque instruction. Rendre les règles courtes et ciblées laisse également plus d’espace dans la fenêtre de contexte pour votre code.
Carnets de notes pour un contexte réutilisable
Un carnet de notes est un bloc de contexte enregistré, tel que des notes d’architecture, une spécification fonctionnelle ou des extraits réutilisables, que vous pouvez intégrer dans n’importe quelle session de chat ou de Composer à l’aide du symbole @. Au lieu de répéter « ce projet utilise Riverpod pour gérer l’état et Supabase pour le backend » au début de chaque session, vous l’écrivez une seule fois et y faites référence par la suite. Les carnets de notes ont été retravaillés dans les dernières versions de Cursor, et les règles ou les fichiers de documentation de projet peuvent servir au même effet ; utilisez donc le mécanisme pris en charge par votre version.
.cursorignore maintient l’index propre
.cursorignore fonctionne comme .gitignore, mais pour ce que Cursor indexe et recherche. Les résultats de @Codebase sont contaminés par les sorties de compilation, le code généré et les dépendances incluses si ceux-ci ne sont pas exclus. Un index surchargé n’est pas seulement plus lent ; il rend également le modèle plus susceptible de citer des fichiers générés obsolètes au lieu de vos véritables sources. Ajoutez des entrées d’ignorance tôt, de préférence en reproduisant les chemins déjà présents dans .gitignore.
Choisir le mode approprié pour la tâche
Mode Composer versus Agent
Ce sont des outils différents. Composer gère une modification multi-fichiers restreinte et affiche un diff pour que vous puissiez le consulter avant toute application. Le mode Agent exécute une boucle étendue : il lit la base de code, modifie les fichiers, exécute des commandes en terminal, examine les résultats et continue jusqu’à ce que la tâche soit terminée ou qu’il se bloque. Les considérer comme interchangeables mène à deux erreurs opposées : ne pas utiliser le mode Agent pour de gros refacteurs où il est particulièrement utile, et l’utiliser pour une modification qui n’exigeait qu’un diff simple et consultable.
Le mode Ask lorsque rien ne devrait changer pour l’instant
Le mode « Demande » correspond à une conversation ordinaire dans laquelle Cursor répond aux questions et analyse votre code, sans possibilité de le modifier. Il est distinct de l’étape de planification en lecture seule que peut effectuer le mode « Agent ». Utilisez-le lors de l’exploration, par exemple pour identifier un bug subtil, lorsque vous souhaitez une analyse honnête sans que la conversation ne dérive vers des modifications que vous n’avez pas demandées.
Sécuriser les exécutions autonomes
Exécution automatique avec listes d’autorisation et de refus
Le mode depuis longtemps connu sous le nom de mode YOLO (les versions ultérieures le décrivent en termes de commandes exécutées automatiquement) n’est pas un simple interrupteur allumé/éteint. Vous configurez une liste d’autorisation de commandes, telles que npm test ou flutter analyze, qui s’exécutent sans confirmation, ainsi qu’une liste de refus, comme rm -rf ou git push, qui nécessitent toujours votre approbation. Définissez d’abord la liste de refus avant de remplir la liste d’autorisation. En ignorant cet ordre, un agent non surveillé peut se transformer en source de problèmes durant des heures. N’oubliez pas non plus qu’une liste de refus fonctionne par correspondance de motifs : les commandes peuvent être enchaînées ou encapsulées dans des scripts, de sorte que la liste réduit les risques plutôt que de les éliminer complètement.
Récupérer un point de contrôle pour des retraits partiels
Cursor enregistre des points de contrôle de votre base de code à différents moments pendant l’exécution d’un agent. Si la plupart des modifications apportées par l’agent sont valides mais que quelques-unes ont empêché la compilation, « Restaurer point de contrôle » vous ramène à un état antérieur spécifique, sans nécessiter de comparaison manuelle des fichiers. Cet outil se trouve dans l’affichage de l’historique de Composer ou de la conversation, ce qui explique pourquoi beaucoup de personnes ne le découvrent jamais. Les points de contrôle constituent un avantage pratique, mais ils ne remplacent pas le contrôle de version ; continuez donc à enregistrer régulièrement des états significatifs dans Git.
Agents en arrière-plan pour des tâches bien définies
Au lieu d’observer l’agent à l’œuvre, vous pouvez lui confier une tâche définie et revenir plus tard sur une demande de fusion. Les candidats idéaux sont des tâches simples et clairement spécifiées, comme mettre à jour une dépendance, corriger des erreurs de lint dans tout un répertoire ou ajouter des indications de type à un module ancien. Tout ce que vous ne pouvez pas décrire avec précision en un seul message n’est pas adapté, car il n’y a personne pour répondre aux questions de l’agent en cours de route.
Travailler au-delà d’un seul répertoire
MCP relie Cursor à des systèmes externes
Le Model Context Protocol permet à Cursor de consulter directement des outils externes, tels que des systèmes de gestion de tickets, des API internes et des bases de données, au cours d’une session, ce qui élimine l’étape manuelle de copier-coller. Les équipes qui gèrent déjà des serveurs MCP pour Claude Code ou un autre client peuvent souvent les réutiliser dans Cursor. Accordez à chaque serveur uniquement l’accès dont il a besoin, car l’agent peut agir via tout ce à quoi il est connecté.
Les espaces de travail multi-racines couvrent plusieurs répertoires
Lorsqu’une application communique avec un backend situé dans son propre répertoire, un espace de travail multi-racines permet à Cursor de voir les deux en même temps, vous évitant ainsi de changer de fenêtre chaque fois qu’une modification affecte les deux parties. Pour les systèmes conçus comme des services interconnectés plutôt que comme un monolithe, cela seul justifie le temps de configuration, car le modèle peut respecter un contrat API du client au serveur.
Points clés
- Les fonctionnalités contextuelles sont les plus importantes :
@Codebase,@Docs, des règles ciblées, des notes réutilisables ainsi qu’un fichier.cursorignorebien organisé déterminent ce que le modèle voit réellement. - Adaptez le mode à la tâche : utilisez Composer pour des diffs révisables, le mode Agent pour des travaux longs et en plusieurs étapes, et le mode Ask pour une analyse sans modification.
- Configurez la sécurité avant l’autonomie : écrivez d’abord la liste des interdictions, connaissez l’emplacement du point de contrôle de restauration et continuez à enregistrer les modifications dans Git.
- Déléguez uniquement des tâches que vous pouvez définir précisément aux agents en arrière-plan.
- Prévoyez que les noms et les emplacements des fonctionnalités changent d’une version à l’autre, et vérifiez toujours la documentation actuelle lorsque quelque chose semble manquer.