Comment obtenir la console Eclipse pour créer un lien hypertexte entre le texte et les fichiers de code source?
Dans Le Code:
Système..println("myPackage.Maclasse");
Dans Eclipse Console:
myPackage.MyClass.myMethod
Je veux cliquer sur la sortie (myPackage.MyClass.myMethod) dans la Console et il indique directement la méthode, similaire à ce qui se passe pour exception les traces de pile. Une Idée?
source d'informationauteur salman.mirghasemi
Vous devez vous connecter pour publier un commentaire.
Le liens hypertexte pour exception les traces de pile est basé sur le nom de fichier et le numéro de ligne donné à la fin de la ligne. E. g.
Pour la première trace de la pile, c'est à la ligne 102 dans le fichier
JavaBeanObservableValue.java
. Le fichier est recherché après dans la classe en cours de chemin, donc si vous avez plusieurs classes avec le même nom, le premier est toujours trouvé...Avec d'autres mots, si vous voulez ajouter étendue de liens hypertexte basé sur votre exemple, vous avez besoin d'étendre la vue de la console un peu...
...ce qui peut être fait avec le
org.eclipse.ui.console.consolePatternMatchListeners
point d'extension. Il est assez facile à utiliser ce point d'extension et en regardant l'exemple de JDT, vous devriez être en mesure d'obtenir votre exemple de travailler sans trop de travail...C'est peut-être clair pour d'autres personnes, mais j'ai trouvé les autres réponses à confusion, bien que correct. L'éclipse de la console d'analyse le modèle de (nom de fichier.java:lineNumber), un lien vers cette ligne dans le fichier:
Que l'autre répond point, il existe de nombreuses façons à la sortie de la console. Emplacement dans la ligne n'a pas d'importance, c'est juste une mise en correspondance du modèle. Colin Smith montre, log4j PatternLayout pouvez utiliser
(%F:%L)
pour obtenir le nom de fichier et le numéro de ligne. Pour obtenir le nom de fichier et le numéro de ligne par programme voir cette question.La question porte sur le lien entre la méthode et je crois que vous pourriez utiliser le consolePatternMatchListeners méthode recommandée par Tonny Madsen et décrit plus en détail dans cette question.
Plus facile, est de tromper la console en créant un lien pour vous. Le format est simple:
Évidemment, vous pouvez fournir le type de classe et le numéro de ligne dans le code comme vous le souhaitez.
Ou, si vous utilisez log4j, vous pouvez configurer votre appender comme ceci:
Si vous voulez qu'il fonctionne dans IntelliJ IDEA trop, vous pouvez utiliser:
- Je utiliser une console personnalisée de vue et j'ai ajouter un IPatternMatchListener à la MessageConsole avec
Un avantage important de l'utilisation de l'auditeur, c'est que le le décalage qui est nécessaire pour la création du lien hypertexte.
Un point de départ pour la mise en œuvre de IPatternMatchListener qui crée des liens hypertexte peuvent être trouvés ici:
https://github.com/mjwach/ErrorLinkyThing/blob/master/source/errorlinkything/ErrorLinkyPatternMatchListenerDelegate.java
La partie la plus délicate semble être d'obtenir le chemin complet du fichier à partir du nom de fichier (je n'ai pas l'utilisation d'un enregistreur).
Un travail autour utilisée par le pare-soleil plugin peut être trouvé ici:
http://sunshade.cvs.sourceforge.net/viewvc/sunshade/net.sourceforge.sunshade/src/net/sourceforge/sunshade/util/FileUtil.java?view=markup
Voir la méthode "dereferenceWindowsLink"
Je suis toujours à la recherche d'une alternative.
Ici est un simple wrapper méthode basée sur le dos des autres réponses qui peuvent être utilisés n'importe où pour obtenir une chaîne de caractères formatée de façon à l'Éclipse de la console permettra de relier à la ligne dans un fichier où getSourceCodeLine() est appelé. J'ai aussi découvert que l'impression du Système.err dans Eclipse sera affiché dans rouge.