#1 Le 24/09/2008, à 02:19
- Pat AfterMoon
[résolu] GEdit : cliquer une erreur et ouvrir le fichier source
Bonjour,
J'utilise GEdit avec quelques plugins pour modifier un programme existant en C++. J'aimerai bien arriver à double cliquer sur un message d'erreur pour aller directement au bon endroit dans le code source.
J'utilise le plugin "external tools" pour effectuer ma compilation, ce n'est pas du "make", c'est du "SCON", mais le résultat est sensiblement le même. J'ai les messages dans la fenêtre du bas de GEdit.
J'ai introduit volontairement un erreur pour tester, cela donne un message comme ceci :
game/Actor.cpp:608: error: ‘vo’ does not name a type
J'ai créé un "external tools" supplémentaire qui rappelle GEdit de cette façon :
#!/bin/sh
gedit +3 toto.cpp
Cela ouvre un onglet supplémentaire avec le fichier toto.cpp à la ligne 3. Maintenant je voudrais "parser" ma ligne d'erreur pour faire la même chose avec les bons paramètres. Sachant que je sais déjà comment transmettre la ligne courante à mon "external tool", mon problème se résume à un truc du genre :
#!/bin/sh
gedit CommandeMagique 'game/Actor.cpp:608: error: ‘vo’ does not name a type'
#Qui ferait l'équivalent de :
gedit +608 game/Actor.cpp
Voila, Il me faudrait donc la commande magique, j'ai pas mal essayé avec sed, mais sans succès. Si un pro de GEdit a une autre solution, je suis preneur.
Mais sinon un habitué des commandes Linux et des expressions régulières devrait pouvoir m'aider, merci d'avance
Dernière modification par Pat AfterMoon (Le 30/09/2008, à 15:58)
Notebook : Zepto Znote 6224W - dual boot Vista/Ubuntu 8.04
Hors ligne
#2 Le 24/09/2008, à 07:19
- Pat AfterMoon
Re : [résolu] GEdit : cliquer une erreur et ouvrir le fichier source
Bon, et bien la nuit m'a porté conseil :
#!/bin/sh
gedit `sed -e 's/\(.*\):\([0-9]*\):\(.*\)/ +\2 \1/'`
Cela fonctionne, mais pas depuis la fenêtre du bas, je suis obligé de copier les messages d'erreur dans une fenêtre d'édition, je n'en suis plus très loin...
Notebook : Zepto Znote 6224W - dual boot Vista/Ubuntu 8.04
Hors ligne