Bjr,
Je cherche tous simplement à comparer deux fichier java en excluant de la comparaison les parties en commentaires, javadoc et autre
Est ce qu'il y a un endroit où configurer?
merci
Version imprimable
Bjr,
Je cherche tous simplement à comparer deux fichier java en excluant de la comparaison les parties en commentaires, javadoc et autre
Est ce qu'il y a un endroit où configurer?
merci
Bonjour,
Je crois que la fonctionnalité est présente par défaut dans Eclipse.
Il faut sélectionner les deux fichiers avec crtl (dans le package Explorer) et faire clic droit, Compare With -> Each Other.
oui ;)
mon problème est :
:(Citation:
en excluant de la comparaison les parties en commentaires
Euh :oops:
j'ai lu un peu trop vite... Désolé.
Bonjour,
A priori ce doit être faisable avec une bonne expression régulière, en l'ajoutant dans les préférences d'Eclipse. Cf. menu "General > Compare/Patch", zone "Removed lines". ;)
oui j'avais déjà un peu joué avec cette option sans des résultats concluants :(
il doit me manquer qqchose dans ma regex :p
Celle là trouve les commentaires sur une ligne
Celle là devrait trouver ceux sur plusieurs lignes mais eclipse semble avoir du malCode:/\*(.)+\*/
(il n'arrive pas à faire de recherche sur le regex qui suit :( )
une idée? une piste? :calim2:Code:/\*(.|\n|\t|\r)+\*/
Bon, j'ai pas trouvé de quoi te satisfaire mais voici tout de même où j'en suis :
Pour faire mes tests, j'utilise bien évidemment la fonction recherche (CTRL + F) dans un source Java.
Solution 1 :
Celle-ci s'intéresse au bloc /* ... */ sans se préoccuper du début de ligne mais en prenant en compte les commentaires multilignes.Code:/\*.*((\R)|.)*?(\*)+/
Solution 2 :
Celle-ci fait la même chose que la précédente mais inclue également les lignes vides précédentes.Code:^\s*/\*.*((\R)|.)*?(\*)+/$
Pour ce qui concerne les exceptions lors d'une comparaison, d'après ce que j'ai compris (bien que la doc du help n'en dise rien), on doit spécifier dans les zones Added lines et Removed lines, des expressions régulières adaptées au "langage" de patching. C'est d'ailleurs ce que l'on peut voir dans le minuscule exemple précisé au-dessus de ces zones.En d'autres termes, le \+ que l'on voit en début d'expression, correspond à ce qu'un patch décrit comme un ajout de ligne. Et donc son opposé est le - .Code:^\+\s*\S
AMHA, il est trop compliqué de trouver les bonnes regexp qui prennent en compte tous les cas étant donné que le mécanisme des patchs travaille sur des fragments de code. Car ce qui ne change pas n'est pas (ou pas toujours) présent dans les lignes de code de patching. Induisant une certaine discontinuité qu'il est difficile de gérer dans le cas des commentaires.
Voilà, si d'autres ont des précisions/corrections à apporter, qu'ils ne se gênent pas ;)
bon j'ai pas vraiment réussi à avancer sur ce point :(
non que ce soit indispensable mais j'hallucine que ce ne soit pas une option par défaut :p
La question a été à plusieurs reprises posées sur les newsgroups eclipse ...
sans réponse concluante :(
Si quelqu'un a un commentaire, je suis preneur ... même si c'est pour me dire que c'est impossible ;)
please :calim2:
Peut-être que si tu détailles un peu ton objectif, on pourra te donner d'autres pistes...
Alors pour le contexte, je veux comparer des fichiers java issus d'un générateur de code.
Je veux comparer le code issu du générateur v1 à celui générateur v2, malheureusement l'heure de génération se retrouve dans les commentaires ...
ce qui me donne un différentiel sur tous les fichiers :(
j'en ai été réduit à faire une moulinette qui m'écrase toutes ces dates ;)
je me dit peut mieux faire :p
As-tu essayé de te focaliser sur le masquage du pattern qui correspond aux dates en question, plutôt que les zones de commentaire ?
Sinon, je ne sais pas quel est ton OS mais sous Windows, il existe Winmerge qui peut également faire du filtrage.
j'ai effectivement trouvé une solution avec les patterns sur les dates mais j'aurais aimé quelque chose de plus générique :)
Merci pour ton intérêt :ccool: