Stand-alone de code Java formateur/formatage automatique de la requête/joli imprimante?
Je suis intéressé à en apprendre sur les choix disponibles de de haute qualité, stand-alone du code source des formateurs pour Java.
Le formateur doit être autonome, c'est, il doit prendre en charge un mode"batch" qui est découplée de tout environnement de développement particulier. Idéalement, elle devrait être indépendant de tout système d'exploitation particulier ainsi. Donc, intégré dans le module de formatage pour l'IDE du jour est de peu d'intérêt ici (à moins que l'IDE prend en charge le mode batch formateur invocation, peut-être à partir de la ligne de commande). Un formateur écrit en closed-source C/C++ qui ne fonctionne que sous Windows n'est pas l'idéal, mais c'est quelque peu intéressante.
Pour être clair, un "formateur" (ou "formatage automatique de la requête") n'est pas le même comme un "vérificateur de style." Un formateur accepte le code source en entrée, applique des règles de style, et produit de style de code source qui est sémantiquement équivalent à l'original du code source. Syntaxique modifications sont limitées à des choses comme la modification de la disposition du code, comme dans l'évolution des espaces, ou l'organisation d' import
consolidés. Très peu, le cas échéant, d'autres refactoring est effectuée. Un correcteur de style s'applique également des règles de style, mais il a simplement rapports violations des règles sans produire de code source modifié en sortie. Ainsi, l'image ressemble à ceci:
Formateur (produit modifié le code source qui est conforme aux règles de style)
Lire Le Code Source → Appliquer Des Règles De Style → Ecrire Un Style Code Source
Vérificateur de Style (ne produit pas de code source modifié)
Lire Le Code Source → Appliquer Des Règles De Style → Écrire Une Violation Des Règles
De Plus Amples Précisions
Solutions doivent être hautement configurable. Je veux être en mesure de préciser mon propre style, pas il suffit de sélectionner à partir d'une liste prédéfinie.
Aussi, je suis ne cherche pas une usage général imprimeur écrit en Java qui peut pretty-print beaucoup de choses. Je veux le style de code Java.
Je suis aussi pas nécessairement intéressé par un grand-unifiée formateur pour de nombreuses langues. Je suppose que cela pourrait être sympa pour une solution de support pour les langages autres que Java, mais ce n'est pas une exigence.
En outre, des outils qui font uniquement de la mise en valeur du code sont droit hors.
Je suis aussi pas intéressé par un service web. Je veux un outil que je peux l'exécuter localement.
Enfin, les solutions ne doivent pas être limités à l'open source, le domaine public, sharewares, logiciel gratuit, commerciale, ou quoi que ce soit d'autre. Toutes les formes de licences sont acceptables.
- wiki de la communauté?
- Je fouettée quelque chose qui est autonome Helios (Eclipse 3.6) qui ne fait qu'mise en forme du code. Il est <13 MO, que Java. openmrs-mailing-list-archives.1560443.n2.nabble.com/...
Vous devez vous connecter pour publier un commentaire.
JIndent (Commercial) est-ce que vous voulez:
http://www.jindent.com/
J'ai aussi utilisé Bagnole dans le passé pour ce faire, il est open source:
http://jalopy.sourceforge.net/
EDIT: je remarque que la Bagnole est assez vieux et il ne semble pas être les plus récentes mises à jour. Je ne suis pas sûr si cela ne fonctionne pas avec Java 5/6. Vous voudrez peut-être regarder à Jacobé à la place:
http://www.tiobe.com/index.php/content/products/jacobe/Jacobe.html
Il y a aussi une liste plus complète des formateurs ici sur Roedy Vert du site:
http://mindprod.com/jgloss/beautifier.html
Vous pouvez également exécuter Eclipse reformatter en ligne de commande. Découvrez cette entrée de blog
Bagnole peuvent être d'intérêt. Il se branche dans la Fourmi et elle est donc indépendante de votre IDE.
Astyle peut également être utile. Il est open source (comme Bagnole) mais écrit en C++. Il est orienté vers la mise en forme Java/C/C++ et peut être de lot-conduit (via des scripts shell ou similaire)
Mise à JOUR: Par ma nouvelle compréhension sur la base d'un incorrect rapport de bug, j'ai déposé: https://bugs.eclipse.org/bugs/show_bug.cgi?id=325289
L'OpenMRSFormatter.xml le fichier doit être un fichier de préférences et pas un fichier XML.
Vous pouvez trouver un tel fichier ici:
https://bugs.eclipse.org/bugs/attachment.cgi?id=178874
ou convertir n'importe quel format XML exporté module de formatage de fichier:
chat formatter.xml | grep paramètre | sed 's/@@" > formateur.asprefs
Merci
Misha
Ici est quelque chose que j'ai fait à l'aide d'Eclipse 3.6 pots. Il est de Java-seulement, la ligne de commande, et devrait être multiplate-forme:
http://www.sendspace.com/file/nm4ptt
Il est un script shell qui utilise un groupés OpenMRSCodeFormatter.xml fichier. L'exemple de sortie:
Ceci est basé sur le poste ici:
http://www.peterfriese.de/formatting-your-code-using-the-eclipse-code-formatter/
Que je ne sais pas combien de temps le lien qui va rester en place, je vais décrire le contenu ci-dessous.
Ceci est basé sur Eclipse 3.6 Helios de la distribution. J'ai utilisé l'un pour Linux x86, mais il devrait fonctionner pour n'importe quelle version, que je n'ai pas utilisé tout (à ma connaissance) de la plate-forme de fichiers JAR.
Le contenu de l'archive tar sont:
Pertinentes pots dans le répertoire plugins sont prises directement à partir d'Eclipse 3.6 répertoire des plugins.
Le contenu de config.ini sont:
format.sh est:
et OpenMRSFormatter.xml est disponible ici:
http://wiki.openmrs.org/download/attachments/3346087/OpenMRSFormatter.xml?version=1&modificationDate=1282168038000
Je pense que cela doit être suffisant pour se reproduire.
Un projet intéressant basé sur le même concept se retrouve ici:
http://code.google.com/p/maven-java-formatter-plugin/
Merci
Misha
Essayer "Jacobé Code De Formatage Automatique De La Requête":
http://www.tiobe.com/index.php/content/products/jacobe/Jacobe.html
Le personal edition est gratuit.
J'ai l'habitude d'utiliser Le Dr Java de code et avec un rapide ctrl+A + tab, il les met en forme tous les joliment avec la coloration syntaxique. Ive utilisé sur un Mac et Windows, ne sais pas si ils ont le support de linux. Et il est open source, autonome et libre.
J'ai aussi beaucoup utilisé le PrettyPrinter incorporé à l'intérieur JRefactory (http://jrefactory.sourceforge.net/). Je l'ai découvert par le biais de son plugin pour JEdit. J'ai apprécié comme il l'avait le mieux javadoc de la couverture que j'ai jamais vu.
Malheureusement, il semble mort (pas d'évolution depuis 2004) et en fait il ne prend pas en charge Java5.
Par la façon dont je confirme que Triemax commercial de suite sur la mort open-source Bagnole.
Voir notre Java Formateur pour un outil qui traite de tous les dialectes de Java, y compris la version 7.
Bagnole ne gère pas les États comme la Liste des trucs<Maclasse> ... et les peluches des commentaires commençant par @
J'ai été en mesure de forcer le format de par le changement de tous les <Maclasse> dans LTLTLTMyClassGTGTGT et puis @ en //@//@//@ (je viens de répéter le LT, GT ou //@ assurez-vous qu'ils n'existent pas déjà. Ensuite, j'ai été en mesure de Bagnole, et, évidemment, j'ai remplacer tout ce à quoi elle était.
Aussi, avant la modification de la < ou > vous devez vous assurer de ne pas modifier les compare comme <= ou >= etc.
Donc, on pourrait appeler cela le pauvre homme solution, car elle implique de nombreuses étapes manuelles. Si je devais faire Bagnole plus souvent, je serais probablement écrire un script à l'aide de sed qui allait faire de ces changements automatiquement pour moi.