La recherche utile Eclipse Java modèles de code
Vous pouvez créer différents Java modèles de code dans Eclipse via
Fenêtre > Préférences > Java > Editor > les Modèles
par exemple
sysout
est élargi à:
System.out.println(${word_selection}${});${cursor}
Vous pouvez l'activer en tapant sysout
suivie par CTRL+SPACE
Ce utile de code Java modèles utilisez-vous actuellement? Inclure le nom et la description de celui-ci et pourquoi c'est génial.
Je suis à la recherche d'un original/roman utilisation d'un modèle plutôt qu'un intégré des fonctionnalités existantes.
- Créer Log4J enregistreur de
- Obtenir swt couleur de l'affichage
- Syncexec - Eclipse Cadre
- Le Pattern Singleton/Enum Singleton Génération
- Readfile
- Const
- Traceout
- Chaîne De Format
- Commentaire De La Revue De Code
- Format de la chaîne de
- Essayer Enfin De Verrouillage
- Format de Message i18n et journal
- Equalsbuilder
- Hashcodebuilder
- Printemps Objet D'Injection
- Créer FileOutputStream
- Sont-ils générer une instruction de commutation à partir d'un Enum avec tous les cas possibles? Je sais que vous pouvez le faire avec CTRL+1, mais je préfère utiliser cmd achèvement.
- Pouvez-vous expliquer ce que
System.out.println(${word_selection}${});${cursor}
signifie? Il sonne comme il y a un moyen pour sélectionner un mot et automatiquement de l'enrober l'intérieur d'unsysout
appel, ai-je le droit? Comment? - vous sélectionnez le mot que vous voulez entouré par sysout appel et appuyez sur Ctrl-Espace (puis en tapant le nom du modèle si vous avez beaucoup de mettre en évidence conscient modèles)
- ce qui ne l' ${} faire?
Vous devez vous connecter pour publier un commentaire.
Le code suivant des modèles à la fois créera un enregistreur et de créer les importations, si nécessaire.
SLF4J
Log4J 2
Log4J
Source.
JUIL
Certains autres modèles ici: Lien Que J'Ai -
Lien II
J'aime celui-ci:
readfile
Mise à JOUR: La Java version 7 de ce modèle est:
StandardCharsets.UTF_8
surCharset.forName("UTF-8")
.Format d'une chaîne de
MessageFormat - entourent la sélection avec un MessageFormat.
Cela me permet de déplacer un curseur pour une chaîne, d'élargir la sélection à l'ensemble de la chaîne (Shift-Alt-Up), puis Ctrl-Espace deux fois.
De verrouillage de la sélection
lock - entourer les lignes sélectionnées avec un essayer enfin de verrouillage. Supposent la présence d'un verrou variable.
NB
${line_selection}
modèles apparaissent dans la Surround Avec menu (Alt-Shift-Z).lock
etunlock
.acquire
etrelease
sont utilisés pour les sémaphores et les leur utilisation dans un try-finally bloc n'est pas aussi fortement conseillé que avec des serrures.Je sais que je suis coups de pied morte post, mais je voulais partager ce pour l'achèvement souci:
Une version correcte de singleton modèle de génération, qui permet de surmonter les défauts de double-vérifier la conception de verrouillage (discuté ci-dessus et mentionné ailleurs)
Singleton Modèle De Création:
Le nom de cette
createsingleton
Pour accéder à des singletons généré à l'aide ci-dessus:
Singleton Modèle de référence:
Le nom de cette
getsingleton
:${enclosing_type}
- est-il destiné ?${primary_type_name}
exemple:public enum ${primary_type_name} { INSTANCE; private ${return_type} ${name} = new ${return_type}(); public ${return_type} ${getName}(${}) { return ${name}; } ${cursor} }
Ajouter l'extrait de code pour effectuer une itération sur
Map.entrySet()
:Modèle:
Code Généré:
${}
et qui, au lieu de${cursor}
, permet à l'onglet "itération" entre les champs. Merci.Pour
log
, une petite comptine de l'ajouter dans la variable membre.Créer une maquette avec Mockito (en Java "états" contexte):
Et dans la "Java des membres du type":
Simuler une méthode void lancer une exception:
Simuler une méthode void de faire quelque chose:
Vérifier moqué méthode appelée exactement une fois:
Vérifier moqué de méthode n'est jamais invoquée:
Nouvelle liste liée à l'utilisation de Google Goyave (et pareil pour hashset et hashmap):
Aussi j'utilise un énorme modèle qui génère une classe de Test. Voici un raccourci fragment de ce que tout le monde intéressé doit personnaliser:
Null Contrôles De!
PreConditions.checkNotNull(...)
méthode dans la Goyave est très lisible alternative (en particulier avec la statique des importations)L'un des mon bien-aimé est foreach:
Et traceout, depuis que je l'utilise beaucoup pour le suivi:
J'ai juste pensé à un autre et l'ai trouvé sur Internet un jour, const:
traceout
est déjà disponible dans Eclipse commesystrace
.Une petite astuce sur sysout -- j'aime renommé "sop". Rien d'autre dans la libs java commence avec la "concession" de sorte que vous pouvez rapidement de type "concession", et boum, il s'insère.
Jeter une IllegalArgumentException avec la variable dans le champ d'application actuel (illarg):
Mieux
Rien de compliqué pour le code de la production - mais très utile pour les révisions du code
J'ai mon modèle coderev low/med/high, procédez de la manière suivante
Puis dans l'affichage des Tâches - me montrera tous de la révision du code des commentaires, je voudrais mettre en place au cours d'une réunion.
Peu plus de modèles d' ici.
Comprend:
slf4j Journalisation
Bean Propriété
PropertyChangeSupport
Post Java 7, une excellente façon de configurer les enregistreurs de besoin (ou si vous préférez) références statiques de la classe englobante est d'utiliser le nouvellement introduit MethodHandles API pour obtenir la classe d'exécution dans un contexte statique.
Un exemple extrait de SLF4J est:
En plus d'être un simple extrait de code dans les IDE, il est aussi moins fragiles si vous refactoriser un certain nombre de fonctionnalités dans une autre classe parce que vous n'aurez pas accidentellement porter le nom de la classe avec elle.
Invoquer le code sur le thread GUI
- Je lier le modèle suivant pour le raccourci
slater
de rapidement envoyer le code sur le thread GUI.Lors de l'essai de autour de avec code que j'ai parfois manqué de suppression de certains syso s. Donc, je me suis fait un modèle appelé syt.
Avant que je compile je vérifie toujours mes TODOs et ne jamais oublier de supprimer un Système.de nouveau.
strf -> String.format("msg", args)
assez simple mais permet d'économiser un peu de taper.String.format("${string}",${objects})
Eclipse me permet d'onglet entre ma chaîne et ma liste d'objets.String.format(${word_selection}${},)${cursor}
, d'abord sélectionner une chaîne, puis utiliser 'sf' sur elle. Ajouter le %s et ainsi de suite...Obtenir une SWT couleur de l'affichage actuel:
Suround avec syncexec
Utiliser le modèle de conception singleton:
Et un equalsbuilder, hashcodebuilder adaptation:
Le modèle de l'enregistreur de déclaration est grande.
J'ai aussi créer linfo, ldebug, lwarn, lerror pour les niveaux de journal que j'utilise le plus souvent.
lerror:
Créer tout pour un événement
Étant donné que les événements sont un peu une douleur à créer en Java--toutes ces interfaces, méthodes, et les trucs à écrire juste pour 1 événement--j'ai fait un simple modèle pour créer tout ce qui est nécessaire pour 1 cas.
Si vous avez des événements qui partagent une même
EventObject
, il suffit de supprimer la version personnalisée inséré par le modèle et changer les pièces deraise___()
eton____()
.J'avais écrit un joli, petit, élégant mécanisme de concours complet à l'aide d'une interface générique et générique de la classe, mais il ne serait pas travailler en raison de la façon dont Java gère les génériques. =(
Modifier:
1) j'ai couru dans un problème où les fils étaient ajoutant/supprimant des auditeurs alors qu'un événement a eu lieu. Le
List
ne peut pas être modifiée en cours d'utilisation, j'ai donc ajoutésynchronized
blocs où la liste des auditeurs sont consultés ou utilisés, le verrouillage de la liste elle-même.Insérer les méthodes d'analyse devraient-donné-quand-alors
J'ai vu une version similaire à celui récemment, tandis que la programmation en binôme avec un très bon développeur et ami, et je pense que ça pourrait être une belle addition à cette liste.
Ce modèle permettra de créer une nouvelle méthode d'essai à une classe, à la suite de la Compte tenu de Quand Puis approche de la behavior-driven development (BDD) de paradigme sur les commentaires, comme guide pour structurer le code. Il va commencer le nom de la méthode avec "devrait" et vous permettent de remplacer le reste de la tétine, le nom de la méthode "CheckThisAndThat" avec la meilleure description possible de la méthode d'essai de la responsabilité. Après le remplissage, le nom de l'ONGLET, vous mènera directement à la
//Given section
, de sorte que vous pouvez commencer à taper vos conditions préalables.Je l'ai mappé les trois lettres "tst", avec la description "méthodes d'Essai devrait-donné-si-alors" 😉
J'espère que vous la trouverez utile comme je l'ai fait quand je l'ai vu:
Printemps Injection
Je sais c'est un peu tard pour le jeu, mais ici, c'est celui que j'utilise pour le Printemps Injection dans une classe:
Ici est un constructeur de non-classes instanciables:
C'est un custom exceptions:
J'aime une classe générée commentaire comme ceci:
Le "je..." immédiatement encourage le développeur pour décrire la classe. Je ne semble pas améliorer le problème des sans-papiers classes.
Et bien sûr le $Id$ est utile CVS mot-clé.
J'ai eu beaucoup de l'utilisation de ces extraits, à la recherche de
null
valeurs et des chaînes vides.- Je utiliser l'argument de "test"-modèles comme le premier code dans mes méthodes de vérification a reçu des arguments.
testNullArgument
Vous pouvez modifier le message d'exception pour s'adapter à votre entreprise ou d'un projet standard. Cependant, je ne recommande d'avoir un message qui contient le nom de la délinquance argument. Sinon l'appelant de votre méthode aura de regarder dans le code pour comprendre ce qui s'est passé. (Un
NullPointerException
avec aucun message produit une exception avec le assez absurde message "null").testNullOrEmptyStringArgument
Vous pouvez également réutiliser le nul de la vérification de modèle à partir de ci-dessus et de mettre en œuvre cet extrait de code pour vérifier uniquement pour les cordes à vide. Vous pouvez alors utiliser ces deux modèles pour produire le code ci-dessus.
Le modèle ci-dessus, cependant, le problème est que si l'argument est définitive, vous devrez modifier le code produit certains (la
${varName} = ${varName}.trim()
échouera).Si vous utilisez beaucoup de finale arguments et que vous souhaitez vérifier pour les cordes à vide, mais n'a pas de garniture comme une partie de votre code, vous pourriez aller avec ceci à la place:
testNullFieldState
J'ai également créé quelques extraits pour le contrôle des variables qui n'est pas envoyé comme arguments (la grande différence est le type d'exception, étant désormais une
IllegalStateException
à la place).testNullOrEmptyStringFieldState
testArgument
C'est un modèle général pour le test d'une variable. Il m'a fallu quelques années pour vraiment apprendre à apprécier celui-ci, maintenant je l'utilise beaucoup (en combinaison avec les modèles ci-dessus, bien sûr!)
Vous entrez un nom de variable ou une condition qui renvoie une valeur, suivie par un opérande ("==", "<", ">", etc) et une autre valeur ou variable et, si le test échoue, le code résultant lèvera une IllegalArgumentException.
La raison pour laquelle le légèrement compliqué si la division, avec l'ensemble de l'expression enveloppé dans une "!()" est de rendre possible la réutilisation de la condition de test dans le message d'exception.
Peut-être qu'il va confondre un collègue, mais seulement si elles ont à regarder le code, qu'ils pourraient ne pas avoir à le faire, si vous jeter ces types d'exceptions...
Voici un exemple avec les tableaux:
Vous obtenez ce résultat en appelant le modèle, en tapant "de.longueur" [TAB] "== pour.longueur".
Le résultat est plus drôle que d'une "exception ArrayIndexOutOfBoundsException" ou similaire, et peut en fait donner à vos utilisateurs une chance de comprendre le problème.
Profitez-en!
- Je l'utiliser pour MessageFormat (à l'aide de Java 1.4). De cette façon, je suis sûr que je n'ai pas de concaténations qui sont difficiles à extraire lors de l'internationalisation
i18n
Aussi pour la journalisation:
journal
Mon préféré, quelques-uns sont...
1: Javadoc, à insérer le doc au sujet de la méthode d'un Printemps objet méthode d'injection.
2: fenêtre de Débogage, pour créer un FileOutputStream et écrire la mémoire tampon du contenu d'un fichier.
Utilisé pour lorsque vous souhaitez comparer un tampon avec un passé run (en utilisant BeyondCompare), ou si vous ne pouvez pas afficher le contenu d'un tampon (via inspecter) parce que sa trop grande...
Explicite à l'aide de tests plutôt que la réflexion qui est plus lente et peut échouer en vertu d'un Gestionnaire de Sécurité (EqualsBuilder javadoc).
Le modèle contient 20 membres. Vous pouvez vous déplacer à travers eux avec la touche TAB. Une fois terminé, le reste des appels à
apppend()
doivent être enlevées.Avec l'aide de plugin: http://code.google.com/p/eclipse-log-param/
Il est possible d'ajouter le modèle suivant:
Et obtenez le résultat:
Hamcrest Test Statique Importations
Voici un modèle pour générer @méthodes d'Essai nécessaires hamcrest importations, si vous souhaitez utiliser les nouvelles fonctionnalités de JUnit 4.8.2 (assertThat, est, hasItems, etc...)
Je l'ai déjà utilisé à de nombreuses reprises, lors de l'écriture de test.
Qu'est-Organiser-Loi-Valoir?
- Je utiliser les modèles suivants pour le développement Android:
Verbose (Logv)
Debug (Logd)
Info (Logi)
Avertir (Logw)
Erreur (Loge)
Assert (Loga)
TAG est une Constante, que je définissent dans chaque activité.
${type:newType(android.util.Log)}
au lieu de simplementLog
puis il prendra en charge l'importation pour vous si vous ne l'avez pas déjà. LeTAG
constante peut être templatised ainsi:private static final String TAG = "${enclosing_type}";
Je viens de remarquer @Duncan Jones a déjà ce modèle, mais en y ajoutant le
${line_selection}
et à l'aide de Maj + Alt + Z est une tactique utile.C'est peut-être utile uniquement comme un peu d'un hacky fixer à une mauvaise conception dans un projet sur lequel je travaille, mais j'ai beaucoup de situations où un code existant est la modification de composants Swing hors de l'AWT fil et de causer des intermittents bugs, donc rapidement patch à ce que j'utilise:
Afin que je puisse mettre en évidence la délinquance des déclarations et utiliser Maj + Alt + Z pour entourer avec. J'appelle ce modèle
swinvoke
.Cela prend beaucoup de grunt travail d'impression et d'acquisition de valeurs locales. Il enregistre automatiquement le nom de la variable à l'intérieur d'une Chaîne. Cela permet d'économiser beaucoup de saisie et de correction faute de frappe.
Le modèle:
Il a deux écueils:
Bien que vous êtes invité à sélectionner un local /paramètre /champ, cela n'inclut pas les primitives(
Invites se produit chaque fois que le code est compilé sans erreurs. Souvent à l'aide de cette macro rendements temporairement rompu syntaxe, de sorte que certains de jonglerie est nécessaire d'insérer de multiples variables. Rien à proximité pour la commodité de ne pas avoir de fautes de frappe dans les noms de variable.
EasyMock modèles
Créer Des Maquettes
De Réinitialisation De Se Moquer De
Replay Maquette
Vérifier Maquette
Section De Code
Utiliser ce modèle pour faire des commentaires sections de code plus facile. ce n'est pas très complexe, mais qui m'a sauvé beaucoup de temps 🙂
Ctrl+Shift+'/' OR '*'
à l'effondrement de la fonctions.Voici un
foreach
qui va travailler pour une itération sur unList<Stuff>
. L'option contenu à l'intérieur de la boucle est de trouver un élément dans la liste et de le retourner.Créer un nouveau JUnit cas de test à partir de ce mot:
Cela nécessite un enregistreur (appelé _logger: il y a un très joli modèle pour que dans ce fil ainsi).
Je suis un grand fan de ce modèle, car il est très facile pour moi de créer des cas de test non implémentée rapidement la minute où je ne pense à eux. Ils vont s'asseoir il y a faute sur moi, comme un rappel de l'affaire, j'ai besoin de tester.
Pour l'utiliser, tapez le nom du cas de test (dire testSerializeObject), mettez en surbrillance le mot, puis appuyez sur Ctrl + Espace (ou ce que vous avez configuré pour le code d'aider).
Mon modèle préféré pour un cas de test est celui qui enregistre les exceptions et ensuite renvoie d'eux, car j'aime voir les exceptions à la console plutôt que dans JUnit l'exception de l'observateur.
Si vous préférez Système.dans vos tests sur les fichiers journaux, vous pouvez toujours utiliser quelque chose de similaire comme:
Vecteur de la Matrice de
list_methods - génère les méthodes d'ajout, de retrait, de comptage, et contient une liste
id - insère les annotations, les importations, le terrain, et les getter pour de simples JPA @Id
Intérieure classe écouteur pour SWT et de développement d'un plugin:
J'ai vu une réponse pour un modèle de création de base de la classe de test, et voici quelques appels individuels si vous préférez cette approche au lieu:
Créer le programme d'installation méthode avec @Avant l'importation
Créer une nouvelle méthode d'essai avec @Test d'importation
Je utiliser pour les aider avec JAXB les conversions entre les types et Otd:
Modèle pour la conversion de la variable à la valeur de retour de type (fonctionne avec le paramètre)
Il imprime un objet entier (ce qui suppose que vous avez déjà lancé un log4j objet LOGGER):
Une nouvelle méthode de test JUnit: