created - Creando nuevas plantillas en vivo con declaraciones de importación en IntelliJ IDEA
javadoc template intellij (3)
Aquí está la plantilla de Eclipse que quiero portar:
${:import(org.apache.log4j.Logger)}
private static final Logger LOG = Logger.getLogger(${enclosing_type}.class);
Mi versión actual en IDEA es la siguiente:
private static final Logger LOG = Logger.getLogger($CLASS_NAME$.class);$END$
donde $CLASS_NAME$
está configurado para usar className()
como su expresión.
Desafortunadamente, no encuentro ninguna documentación sobre cómo agregar la declaración de importación. ¿Hay algo equivalente a Eclipse ${:import(...)}
?
Para el uso de registro de apache commons:
private static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory.getLog($CLASS_NAME$.class);$END$
Según esta publicación , parece estar destinado a utilizar solo expresiones completas. Lo probé y esto me funcionó:
private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger($CLASS_NAME$.class);$END$
IDEA lo acorta automáticamente y agrega las instrucciones de importación necesarias:
import org.apache.log4j.Logger;
// ...
private static final Logger LOG = Logger.getLogger(MyClass.class);
Solo para ahorrar un poco de tiempo para los nuevos visitantes aquí: la respuesta aceptada ahora necesita algunos cambios.
Vaya a Settings -> Editor -> Live Templates
, seleccione others
, agregue una plantilla:
private static final org.apache.logging.log4j.Logger logger = org.apache.logging.log4j.LogManager.getLogger($CLASS_NAME$.class);$END$
Luego, presione Edit Variables
a la izquierda y establezca la expresión para CLASS_NAME
en className()
.
Después de todo, establezca el contexto en la parte inferior de Java -> Declaration
(y Groovy -> Declaration
si lo desea). Las importaciones serán generadas mágicamente en el inserto.