Plugin Eclipse pour le développement BlueMind. Nouveau sur ce plugin ? ONBOARDING.md fait le tour en quelques minutes. Il fournit six fonctionnalités :
- Lancement rapide des tests : clic droit sur un projet
*.testspour lancer les JUnit Plugin Tests avec une configuration préconfigurée. - Synchronisation POM → workspace : détecte automatiquement les changements dans
open/global/pom.xml(via inotify) et propose de mettre à jour la configuration Eclipse en conséquence. - Serveur MCP pour Claude Code : expose un endpoint HTTP JSON-RPC local (loopback + token) permettant à Claude Code de déclencher des tests dans l'Eclipse qui tourne et de récupérer stdout/stderr + outcome. Voir docs/CLAUDE_CODE_MCP.md.
- Vue « Branch Changed Files » : liste les fichiers modifiés sur la branche courante par rapport au merge-base avec l'upstream (committed / staged / unstaged), avec ouverture du fichier ou de l'éditeur de comparaison. Menu Window → Show View → BlueMind → Branch Changed Files.
- Interactive Code Review (ICR) : revue de code interactive native. On sélectionne du code dans un éditeur, clic droit → Ask Claude (ICR)… (ou
Ctrl+Alt+C) pour poser une question ou demander une modification ; Claude (skill/icr) écoute via le serveur MCP, agit, et répond inline sous forme de fil de commentaires (glyphe💬). Voir docs/CLAUDE_CODE_MCP.md §5. - Gestion du workspace : sync des projets et des working sets avec le disque, diagnostic/réparation des erreurs de compilation, depuis Claude Code (skills
eclipse-sync/eclipse-doctor). Toute modification du workspace (import, retrait, working sets) passe par un consentement utilisateur. Voir docs/CLAUDE_CODE_MCP.md §6.
- Help → Install New Software...
- Add... → Name:
BlueMind Developer Tools, Location:https://bluemind-net.github.io/eclipse-plugin-bm/ - Cocher BlueMind Developer Tools → Finish
- Redémarrer Eclipse
Le plugin offre plusieurs niveaux de granularité pour lancer les JUnit Plugin Tests :
- Projet : clic droit sur un projet
*.tests→ Run As → BM Plugin Tests - Classe : clic droit sur une classe de test (Package Explorer, Outline) → Run As → BM Plugin Tests
- Méthode : clic droit sur une méthode
@Test(Outline, ou curseur dans l'éditeur) → Run As → BM Plugin Tests
Le plugin crée une launch configuration PDE JUnit préconfigurée avec net.bluemind.tests.feature et gère automatiquement les fragments (Fragment-Host). Les classes abstraites sont ignorées.
Le plugin peut afficher des indicateurs ▶ Run / ▶ Debug au-dessus des méthodes @Test et des classes de test directement dans l'éditeur. Cette fonctionnalité est désactivée par défaut.
Pour l'activer : Window → Preferences → BlueMind → cocher "Show Run/Debug code mining above test methods".
Le plugin surveille le fichier bluemind-all/open/global/pom.xml et réagit quand les propriétés suivantes changent (par exemple après un git switch ou git pull) :
| Propriété POM | Action |
|---|---|
tycho.testArgLine |
Met à jour les arguments VM du JRE par défaut d'Eclipse |
docker.devenv.tag |
Résolu dans tycho.testArgLine (-Dbm.docker.tag=...) |
target-platform-version |
Met à jour l'URL du repository P2 dans la target platform active et la recharge |
Quand un décalage est détecté, une boîte de dialogue propose de synchroniser. Si tout est en sync, rien ne s'affiche.
Le check peut aussi être lancé manuellement via le menu BlueMind → Check POM Sync...
Si le fichier ~/.config/bluemind/jvm.options existe, son contenu est ajouté aux arguments VM du JRE, après ceux du POM. Cela permet d'ajouter des options spécifiques à sa machine sans modifier le POM partagé.
Format : une option par ligne, # pour les commentaires.
# Exemple ~/.config/bluemind/jvm.options
-Xmx8g
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
La revue de code interactive est pilotée depuis Claude Code par la commande /icr. Cette commande
est fournie dans ce dépôt : .claude/commands/icr.md.
- Activer le serveur MCP : dans Eclipse, Window → Preferences → BlueMind → cocher
« Enable MCP server for Claude Code ». Le plugin écrit alors
~/.config/bluemind/mcp/eclipse-*.json(url + token loopback).jqdoit être installé. - Installer la commande
/icret ses scripts —/icrappelle des scripts fixes attendus dans~/.claude/scripts/icr/(ça évite le curl/jq inline, bloqué par l'heuristique d'obfuscation de Claude Code). Copier — ou lier, pour suivre les mises à jour du dépôt — la commande et les scripts :Puis autoriser ces scripts dansmkdir -p ~/.claude/commands ~/.claude/scripts/icr cp .claude/commands/icr.md ~/.claude/commands/ # ou: ln -sf "$PWD/.claude/commands/icr.md" ~/.claude/commands/ cp .claude/scripts/icr/*.sh ~/.claude/scripts/icr/ # ou: ln -sf "$PWD"/.claude/scripts/icr/*.sh ~/.claude/scripts/icr/ chmod +x ~/.claude/scripts/icr/*.sh
~/.claude/settings.json, formes tilde et absolue :Bash(~/.claude/scripts/icr/*)etBash(/home/<vous>/.claude/scripts/icr/*).
- Lancer
/icrdans Claude Code depuis le dépôt à relire (/icr [--source <branche>] [--repo <chemin>]). - Dans Eclipse, sélectionner du code → clic droit → Ask Claude (ICR)… (ou
Ctrl+Alt+C) pour poser une question ou demander une modification. Claude répond inline (glyphe💬). - La vue Window → Show View → BlueMind → Code Review Conversations liste tous les fils ouverts ; un double-clic ouvre le fichier sur la ligne concernée.
La commande
/icrest documentée pas à pas dans le fichier lui-même ; le détail du protocole MCP est dans docs/CLAUDE_CODE_MCP.md §5.
Depuis Claude Code, deux skills gèrent le workspace Eclipse : eclipse-sync (import/retrait de
projets, working sets) et eclipse-doctor (diagnostic et réparation des erreurs de compilation).
Toute modification (import, retrait de projet, working sets) passe par un consentement utilisateur
— préférences workspace.consent.projects / workspace.consent.workingsets
(Window → Preferences → BlueMind, ask / always / never).
- Activer le serveur MCP (cf. ci-dessus, même préférence que pour ICR).
- Installer les scripts et les skills. Les skills appellent les scripts par leur nom nu
(
bm-eclipse-doctor, …) : le répertoire d'installation doit donc être dans lePATH. Choisissez le vôtre — ici~/tools/scripts/claude:Puis autoriser ces scripts dansBM_SCRIPTS=~/tools/scripts/claude # doit être dans le PATH mkdir -p "$BM_SCRIPTS" ~/.claude/skills/eclipse-sync ~/.claude/skills/eclipse-doctor cp .claude/scripts/eclipse/* "$BM_SCRIPTS"/ # ou: ln -sf "$PWD"/.claude/scripts/eclipse/* "$BM_SCRIPTS"/ cp .claude/skills/eclipse-sync/SKILL.md ~/.claude/skills/eclipse-sync/ cp .claude/skills/eclipse-doctor/SKILL.md ~/.claude/skills/eclipse-doctor/ chmod +x "$BM_SCRIPTS"/bm-*
~/.claude/settings.json, formes tilde et absolue :Bash(~/tools/scripts/claude/*)etBash(/home/<vous>/tools/scripts/claude/*).
Quatre mots courts suffisent à couvrir l'essentiel (détail dans les SKILL.md respectifs, § Vocabulaire) :
| Mot | Fait quoi | Skill |
|---|---|---|
| sync | sync des projets seuls (import/retrait) | eclipse-sync |
| orga | sync des working sets seuls | eclipse-sync |
| repair | répare les erreurs déjà là, sans sync | eclipse-doctor |
| prepare | la totale : sync projets + working sets + repair en un appel ; « prepare <cible> » (ex. « prepare mapi ») ouvre en plus <cible> dans le même appel |
eclipse-doctor |
Ces mots ne sont pas exclusifs — les formulations naturelles marchent aussi (« j'ai changé de branche », « ça compile pas dans eclipse », « je vais bosser sur X »). Un tour d'horizon complet est dans ONBOARDING.md.
Détail des tools MCP de gestion du workspace, du diagnostic et du protocole dans docs/CLAUDE_CODE_MCP.md §6.
Prérequis : Java 21+, Maven 3.9.9+
mvn clean verifyLe p2 repository est généré dans net.bluemind.devtools.site/target/repository/.
Pour tester ses propres modifications sans réinstaller à chaque fois depuis le site GitHub Pages :
- Help → Install New Software... → Add... → Location : le chemin local, en
file://, versnet.bluemind.devtools.site/target/repository/(ex :file:///home/<vous>/dev/eclipse-plugin-bm/net.bluemind.devtools.site/target/repository/) - Installer depuis ce site local (au lieu du site GitHub Pages)
Ensuite, à chaque nouveau mvn clean verify : Help → About Eclipse IDE → Installation Details,
sélectionner le plugin → Update. Comme le site pointe vers votre dossier local, Eclipse reprend
directement la dernière version buildée — pas besoin de rajouter/retirer un site à chaque fois.