Cursor est un éditeur de code alimenté par l’IA, construit sur VS Code, qui intègre des capacités avancées d’IA pour la génération, l’édition et le débogage de code, avec support de plusieurs modèles d’IA, notamment GPT-4 et Claude.
Installation et Configuration
| Commande | Description |
|---|
| Download from cursor.sh | Installez Cursor depuis le site web officiel |
cursor --version | Vérifier la version installée |
cursor . | Ouvrir le répertoire actuel dans Cursor |
cursor file.py | Ouvrir un fichier spécifique |
cursor --help | Afficher les informations d’aide |
cursor --extensions-dir | Afficher le répertoire des extensions |
Fonctionnalités IA de Base
| Raccourci | Description |
|---|
Ctrl+K / Cmd+K | Palette de commandes Open AI |
Ctrl+L / Cmd+L | Panneau de chat Open AI |
Ctrl+I / Cmd+I | Édition AI en ligne |
Tab | Accepter la suggestion d’IA |
Escape | Rejeter la suggestion d’IA |
Alt+] / Option+] | Prochaine suggestion d’IA |
Alt+[ / Option+[ | Suggestion précédente d’IA |
Commandes de Chat IA
| Commande | Description |
|---|
@workspace | Référencer l’espace de travail entier |
@file | Référencer un fichier spécifique |
@folder | Contenu du dossier de référence |
@code | Référence du code sélectionné |
@docs | Documentation de référence |
@web | Rechercher sur le web pour obtenir du contexte |
@git | Historique git de référence |
Génération de Code
Génération Inline
| Raccourci | Description |
|---|
Ctrl+K then type prompt | Générer du code en ligne |
Ctrl+K then Ctrl+A | Générer fichier complet |
Ctrl+K then Ctrl+D | Générer la documentation |
Ctrl+K then Ctrl+T | Générer des tests |
Ctrl+K then Ctrl+R | Refactoriser le code |
Ctrl+K then Ctrl+F | Corriger les problèmes de code |
Génération basée sur le Chat
| Commande | Description |
|---|
| ”Create a function that…” | Générer une fonction spécifique |
| ”Add error handling to this code” | Améliorer le code existant |
| ”Convert this to TypeScript” | Conversion de langue |
| ”Optimize this algorithm” | Optimisation des performances |
| ”Add comments to explain this” | Génération de documentation |
Édition de Code
Édition basée sur la Sélection
| Raccourci | Description |
|---|
Select code + Ctrl+K | Modifier le code sélectionné |
Select code + Ctrl+I | Sélection d’édition en ligne |
Ctrl+Shift+K | Modifier avec contexte |
Alt+K | Édition rapide |
Édition Multi-curseur
| Raccourci | Description |
|---|
Ctrl+Alt+Down / Cmd+Option+Down | Ajouter le curseur en dessous |
Ctrl+Alt+Up / Cmd+Option+Up | Ajouter le curseur au-dessus |
Ctrl+D / Cmd+D | Sélectionner l’occurrence suivante |
Ctrl+Shift+L / Cmd+Shift+L | Sélectionner toutes les occurrences |
Configuration des Modèles IA
| Paramètres | Description |
|---|
| GPT-4 | Modèle par défaut pour tâches complexes |
| GPT-3.5-turbo | Modèle plus rapide pour tâches simples |
| Claude-3 | Modèle alternatif pour le codage |
| Codex | Spécialisé pour la génération de code |
| Custom models | Configurer des modèles locaux ou personnalisés |
Fonctionnalités de l’Espace de Travail
Gestion des Fichiers
| Raccourci | Description |
|---|
Ctrl+P / Cmd+P | Ouverture rapide de fichier |
Ctrl+Shift+P / Cmd+Shift+P | Palette de commandes |
Ctrl+Shift+E / Cmd+Shift+E | Panneau Explorateur |
Ctrl+Shift+F / Cmd+Shift+F | Rechercher dans les fichiers |
Ctrl+Shift+G / Cmd+Shift+G | Contrôle de source |
Recherche Améliorée par IA
| Commande | Description |
|---|
@search "semantic query" | Recherche sémantique de code |
@find "natural language" | Recherche de fichiers en langage naturel |
@grep "pattern with AI" | grep amélioré par IA |
Débogage avec IA
| Fonctionnalité | Description |
|---|
| AI Debug Assistant | Expliquer la sortie de débogage |
| Error Explanation | L’IA explique les messages d’erreur |
| Fix Suggestions | L’IA suggère des corrections pour les bugs |
| Breakpoint Analysis | L’IA analyse le contexte du point d’arrêt |
Commandes de Débogage
| Raccourci | Description |
|---|
F5 | Commencez le débogage |
F9 | Basculer le point d’arrêt |
F10 | Enjamber |
F11 | Entrez dans |
Shift+F11 | Sortir |
Ctrl+Shift+F5 | Redémarrer le débogage |
Intégration Git
| Commande | Description |
|---|
@git diff | L’IA explique les différences de git |
@git commit | Générer des messages de commit |
@git branch | Suggérer des noms de branches |
@git merge | Aide avec les conflits de merge |
Raccourcis Git
| Raccourci | Description |
|---|
Ctrl+Shift+G / Cmd+Shift+G | Panneau de contrôle de gestion de source |
Ctrl+Enter / Cmd+Enter | Valider les modifications |
Ctrl+Shift+P then “Git”` | Commandes Git |
Extensions et Personnalisation
Extensions Populaires
| Extension | Description |
|---|
| Cursor AI | Fonctionnalité principale de l’IA |
| GitHub Copilot | Assistance AI supplémentaire |
| Prettier | Formatage de code |
| ESLint | Linting JavaScript |
| Python | Support du langage Python |
| Live Share | Collaboration en temps réel |
Configuration des Paramètres
| Paramètres | Description |
|---|
cursor.ai.model | Modèle d’IA par défaut |
cursor.ai.temperature | Niveau de créativité de l’IA |
cursor.ai.maxTokens | Longueur maximale de réponse |
cursor.ai.autoComplete | Activer la saisie semi-automatique |
cursor.ai.inlineChat | Activer le chat en ligne |
Fonctionnalités Avancées
Mode Compositeur
| Fonctionnalité | Description |
|---|
| Multi-file editing | Modifier plusieurs fichiers simultanément |
| Project-wide changes | Appliquer les modifications à l’ensemble du projet |
| Dependency tracking | Suivre les dépendances de fichiers |
| Batch operations | Effectuer des opérations en masse |
Agents IA
| Agent | Description |
|---|
| Code Agent | Spécialisé pour les tâches de code |
| Debug Agent | Concentré sur le débogage |
| Test Agent | Génère et exécute des tests |
| Docs Agent | Crée de la documentation |
| Refactor Agent | Spécialiste de la refactorisation de code |
Fonctionnalités Spécifiques aux Langages
Python
| Commande | Description |
|---|
@python "create class" | Générer des classes Python |
@python "add type hints" | Ajouter des annotations de type |
@python "create tests" | Générer des tests pytest |
@python "optimize" | Optimisation des performances |
| Commande | Description |
|---|
@js "create component" | Générer des composants React |
@ts "add types" | Ajouter des types TypeScript |
@js "async/await" | Convertir en async/await |
@js "error handling" | Ajouter la gestion des erreurs |
| Commande | Description |
|---|
@rust "safe code" | Générer du code Rust sécurisé |
@go "concurrent" | Modèles de concurrence en Go |
@java "spring boot" | Applications Spring Boot |
@cpp "modern cpp" | Fonctionnalités modernes de C++ |
| Modèle | Description |
|---|
@template api | Modèle d’API REST |
@template component | Modèle de composant UI |
@template test | Modèle de fichier de test |
@template config | Modèle de configuration |
| Fonctionnalité | Description |
|---|
| Auto-save | Sauvegarde automatique de fichiers |
| Format on save | Formatage automatique du code |
| Lint on save | Auto-lint code |
| AI suggestions | Suggestions proactives |
| Fonctionnalité | Description |
|---|
| Live Share | Collaboration en temps réel |
| AI Pair Programming | IA comme partenaire de codage |
| Code Reviews | Revues assistées par IA |
| Team Settings | Configurations AI partagées |
| Raccourci | Description |
|---|
Ctrl+Shift+P then “Live Share”` | Démarrer une session de collaboration |
Ctrl+Shift+P then “Share”` | Partager l’espace de travail |
| Paramètres | Description |
|---|
cursor.ai.cacheSize | Taille du cache de réponse d’IA |
cursor.ai.requestTimeout | Délai de requête |
cursor.ai.batchSize | Taille de lot de requêtes |
cursor.ai.throttle | Limitation des requêtes |
| Problème | Solution |
|---|
| AI not responding | Vérifier la connexion internet |
| Slow responses | Réduire la taille du contexte |
| Wrong suggestions | Fournir plus de contexte |
| Model errors | Changer de modèle AI |
| Extension conflicts | Désactiver les extensions en conflit |
| Commande | Description |
|---|
Ctrl+Shift+P then “Developer: Reload Window”` | Recharger Cursor |
Ctrl+Shift+P then “Developer: Toggle Developer Tools”` | Ouvrir les dev tools |
Help > Show All Commands | Afficher toutes les commandes disponibles |
{
"cursor.ai.customModels": [
{
"name": "Local Model",
"endpoint": "http://localhost:8000",
"apiKey": "your-api-key"
}
]
}
```## Intégration d'API
### Modèles Personnalisés
```json
{
"cursor.ai.webhooks": {
"onCodeGeneration": "https://your-webhook.com/code",
"onError": "https://your-webhook.com/error"
}
}
```### Configuration de Webhook
| Raccourci | Action |
|---------|-------------|
| `Ctrl+K` | Commande IA |
| `Ctrl+L` | Chat IA |
| `Ctrl+I` | Édition en ligne |
| `Tab` | Accepter la suggestion |
| `Escape` | Rejeter la suggestion |
| `Ctrl+/` | Basculer le commentaire |
| `Ctrl+S` | Enregistrer le fichier |
| `Ctrl+Z` | Annuler |
| `Ctrl+Y` | Refaire |## Résumé des Raccourcis Clavier
### Raccourcis Essentiels
| Raccourci | Action |
|---------|-------------|
| `Ctrl+P` | Ouverture rapide |
| `Ctrl+G` | Aller à la ligne |
| `Ctrl+F` | Trouver |
| `Ctrl+H` | Remplacer |
| `F12` | Aller à la définition |
| `Alt+F12` | Définition de Peek |### Navigation
```yaml
# GitHub Actions with Cursor
name: AI Code Review
on: [pull_request]
jobs:
ai-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: AI Code Review
run: cursor-cli review --pr ${{ github.event.number }}
```## Meilleures Pratiques
### Demandes Efficaces
- Soyez spécifique et clair dans vos demandes
- Fournissez du contexte pour de meilleurs résultats
- Utilisez des exemples si possible
- Décomposez les tâches complexes en parties plus petites
- Itérez et affinez les invites
### Qualité du Code
- Examinez attentivement le code généré par l'IA
- Ajoutez une gestion appropriée des erreurs
- Incluez des tests complets
- Suivez les normes de codage
- Documentez la logique complexe
### Performance
- Utilisez des modèles d'IA appropriés pour les tâches
- Optimisez la taille du contexte
- Mettez en cache les réponses fréquemment utilisées
- Surveillez l'utilisation de l'API
- Configurez correctement les délais d'attente
### Sécurité
- Examinez les suggestions d'IA pour les problèmes de sécurité
- N'incluez pas de données sensibles dans les invites
- Utilisez des points de terminaison d'API sécurisés
- Implémentez des contrôles d'accès appropriés
- Effectuez des audits de sécurité réguliers
## Exemples d'Intégration
### Intégration CI/CD
```bash
#!/bin/bash
# Cursor automation script
cursor --ai-command "review and optimize" src/
cursor --ai-command "generate tests" src/
cursor --ai-command "update documentation" docs/
```### Scripts Personnalisés
## Cas d'Utilisation Courants
### Développement Web
- Génération de composants React
- Création de points de terminaison API
- Conception de schémas de base de données
- Optimisation frontend
- Automatisation des tests
### Science des Données
- Scripts d'analyse de données
- Modèles d'apprentissage automatique
- Code de visualisation
- Pipelines de nettoyage de données
- Analyse statistique
### DevOps
- Infrastructure as code
- Configuration de pipeline CI/CD
- Configuration de surveillance
- Scripts de déploiement
- Configurations de sécurité