Aller au contenu principal

Édition multi-curseur dans Cursor : Modifications en masse pilotées par l'IA

Cursor Multi-Cursor

Cursor combine les fonctionnalités multi-curseur des IDE traditionnels avec l'intelligence pilotée par l'IA pour rendre l'édition de code en masse plus rapide que jamais. Ce guide couvre tout, depuis la sélection multi-lignes de base jusqu'au refactoring à grande échelle assisté par l'IA.

Prérequis​

Avant de commencer :

  • Cursor installé (dernière version recommandée)
  • Familiarité avec les raccourcis d'édition de texte de base
  • Un projet sur lequel expérimenter

Multi-curseur de base​

Raccourcis clés​

OpérationWindows/LinuxmacOS
Ajouter un curseur en dessousCtrl+Alt+DownCmd+Option+Down
Ajouter un curseur au dessusCtrl+Alt+UpCmd+Option+Up
Ajouter un curseur à la prochaine correspondanceCtrl+DCmd+D
Ajouter un curseur à toutes les correspondancesCtrl+Shift+LCmd+Shift+L
Annuler le dernier curseurCtrl+UCmd+U
Sélectionner la ligne actuelleCtrl+LCmd+L

Exemple de base​

Convertir des lignes simples en tableau :

// Avant :
apple
banana
cherry

// 1. Placez un curseur à la fin de chaque ligne (Ctrl+Alt+Click)
// 2. Tapez `',`
// 3. Sélectionnez tout et ajoutez des parenthèses
// Après :
['apple',
'banana',
'cherry']

Sélection multi-curseur intelligente​

Utilisation de la sélection sémantique par l'IA​

L'IA de Cursor comprend la structure du code. Appuyez sur Ctrl+D sur une variable :

// Le curseur est sur le premier "user"
const user = await getUser();
const userData = formatUser(user);
sendEmail(user.email);

// Ctrl+D sélectionne "user", puis Ctrl+D à nouveau
// Sélectionne uniquement les références de variable, pas l'accès aux propriétés

Mode de sélection par colonne​

// Sélectionnez plusieurs colonnes pour refactoriser un objet :
const data = {
id: 1,
name: 'John',
};

// Alt+Shift+Click pour sélectionner par colonne
// Toutes les valeurs peuvent être éditées simultanément

Refactoring en masse piloté par l'IA​

Utilisation de Ctrl+K pour l'édition IA en ligne​

  1. Sélectionnez plusieurs lignes
  2. Appuyez sur Ctrl+K
  3. Décrivez la modification :
Convertir toutes les instructions console.log en logs structurés

Avant :

console.log('User logged in', userId);
console.log('Fetching data', endpoint);
console.log('Error occurred', error);

Après :

logger.info('User logged in', { userId });
logger.info('Fetching data', { endpoint });
logger.error('Error occurred', { error });

Renommage à grande échelle avec le symbole @​

Renommer toutes les références User en Customer
mais pas dans les définitions de types et les importations

Patterns avancés​

Édition simultanée de plusieurs fichiers​

Ouvrir la palette de commandes (Ctrl+Shift+P)
> "Add Selection to Next Find Match"
Opérer sur les correspondances entre plusieurs fichiers

Multi-curseur avec expressions régulières​

Rechercher : (const|let|var)\s+(\w+)
Remplacer : $1 $2

Appuyez sur Alt+Enter lors d'une recherche par regex
Place des curseurs sur toutes les correspondances

Raccourcis d'édition rapide​

OpérationRaccourci
Dupliquer la ligneCtrl+Shift+D
Déplacer la ligne vers le haut/basAlt+Up/Down
Supprimer la ligneCtrl+Shift+K
Basculer le commentaireCtrl+/
Indenter/DésindenterCtrl+]/[
Entourer la sélection de parenthèsesCtrl+Shift+(

Exemples pratiques​

Ajouter des types aux réponses d'API​

// Avant
const data = await fetch('/api/users');

// 1. Placez des curseurs sur tous les appels fetch
// 2. Utilisez Ctrl+K :
// "Ajouter l'annotation de type User[] à la réponse"

// Après
const data: User[] = await fetch('/api/users');

Ajouter des Error Boundaries en masse​

// Avant
function ComponentA() { ... }
function ComponentB() { ... }
function ComponentC() { ... }

// Sélectionnez toutes les fonctions
// Ctrl+K : "Envelopper chaque fonction dans ErrorBoundary"

// Après
function ComponentA() {
return (
<ErrorBoundary>
...
</ErrorBoundary>
);
}
// ... etc

Astuces et conseils​

  1. Commencez par une sélection : sélectionnez toujours le code cible avant d'appeler l'édition IA
  2. Combinez : multi-curseur + Ctrl+K pour des refactorings complexes
  3. Prévisualisez les modifications : utilisez la vue de diff IA pour réviser les éditions avant de les appliquer
  4. Sauvegardez des snippets : enregistrez les refactorings courants en tant que commandes Cursor

Ressources connexes​

Dernière mise à jour : Juillet 2025