Configurar Eclipse/Java para programadores de Visual Studio/C#

16/05/2018Artículo original

Los que venimos del mundo C++ primero, y C# después, estamos muy acostumbrados a Visual Studio. Así que, cuando nos toca trabajar en Eclipse con Java, nos sentimos como un cerdo en una piscina de barro: nos suena familiar y es divertido, pero no estamos cómodos del todo.

Este post es un resumen de todos los cambios y personalizaciones que he realizado a mi Eclipse en los últimos años para que el desarrollo con Java sea lo más parecido posible a C# con Visual Studio.

Colores

Lo primero que un desarrollador Visual Studio suele querer cambiar, son los colores que se utilizan para formatear el código.

Para establecer una configuración de colores similar a la de Visual Studio, lo más fácil es utilizar uno de los temas de color disponibles en el Eclipse Marketplace (Eclipse -> Help -> Eclipse Marketplace).

Allí se pueden buscar temas de color relacionados con Visual Studio e instalar el que más convenga (Windows -> Preferences -> General -> Appearance -> Color Theme):

Si se desea cambiar algún color individual, puede hacerse en: Windows -> Preferences -> Java -> Editor -> Syntax Coloring:

Otros colores no incluidos en el tema

Aunque el tema de color configura la mayor parte de aspectos relacionados con el código, para que Eclipse se parezca aún más a nuestro Visual Studio, hay otras configuraciones que es necesario cambiar. En Windows -> Preferences -> General -> Editors -> Text Editors -> Annotations:

  1. Color de los puntos de ruptura en modo depuraciónLos desarrolladores de Visual Studio estamos muy acostumbrados a esas horribles líneas con fondo rojo para los puntos de ruptura. Aunque en Eclipse también se puede configurar el fondo de un breakpoint en rojo, el color del texto permanece intacto por lo que su lectura se complica. Una buena alternativa es la siguiente:
  2. Color de línea activa Del mismo modo, cuando la depuración está parada, estamos también acostumbrados a esa horrible línea con fondo amarillo que denota la siguiente línea que será ejecutada. Podemos configurarla en la misma ventana:

Estilo de código

El segundo aspecto que suele resultar más incómodo para desarrolladores C#, es el estilo de código.

Aquí, es más que probable que cada empresa tenga su propia guía de estilo que habrá que respetar, pero si tu prioridad es que tu código Java se parezca lo más posible a C#, puedes lograrlo en la ventana: Window -> Preferences -> Java -> Code Style -> Formatter.

En lugar de ir cambiando cada valor automáticamente, lo mejor es descargar un profile ya creado que configure todo por nosotros. Te dejo para descarga mi profile personal(en formato ZIP, dentro tiene el XML necesario) que contiene gran parte de lo que se menciona en este apartado.

  Mi experiencia en el 3er Hackathon de la Universidad de Granada

Con respecto a los profiles que suelen encontrarse por Internet, suelen ser necesarios algunos retoques adicionales. Algunos ejemplos:

Deshabilitar Wrapping

Ésta es otra de esas opciones que puede resultar útil en algunos contextos, pero que yo prefiero desactivar.

Hoy en día las pantallas tienen la suficiente resolución como para que las líneas puedan ser largas y a mí personalmente no me importa que se salgan por el margen derecho de la pantalla.

Si hay casos extremos donde eso resulte un problema, prefiero escoger manualmente cuándo y cómo bajar partes de las sentencias a la siguiente línea. Por eso, personalmente prefiero deshabilitar todo tipo de Wrapping.

Se puede ir categoría por categoría activando y desactivando según tus preferencias en la ventana: Window -> Preferences -> Java -> Code Style -> Formatter -> Edit -> Line Wrapping:

Controlar cómo y cuándo se añaden Nuevas Líneas

Para conseguir un comportamiento lo más parecido posible a C# en lo referente a la inserción de nuevas líneas, debemos ir a Window -> Preferences -> Java -> Code Style -> Formatter -> Edit -> New Lines y marcar las opciones de la siguiente imagen:

Establecer los TABS como método de indentación

La indentación por defecto en Eclipse es bastante confusa, y fácilmente terminas con métodos que están “un espacio” más a la derecha o a la izquierda de donde deberían.

Para mejorar esto, suelo preferir indentar únicamente con TABS completos, en: Window -> Preferences -> Java -> Code Style -> Formatter -> Edit -> Indentation

Atajos de teclado

Toda la personalización del mundo no servirá de mucho si los atajos de teclado no son los que tienes costumbre de utilizar.

Un programador necesita esos atajos como respirar. La buena noticia es que Eclipse ya incluye un mapa de atajos que imita el comportamiento de Visual Studio. Puedes configurarlo en: Window -> Preferences -> General -> Keys, seleccionando el esquema “Microsoft Visual Studio”.

Aun así, el mapeo no es perfecto y será necesario retocar algunos atajos a mano.

Hacer que el asistente de contenido se comporte como Intellisense

En Visual Studio, estamos acostumbrados a que Intellisense nos ofrezca alternativas nada más pulsar el punto (.) y continúe ofreciéndolas según vamos tecleando.

Podemos lograr un comportamiento parecido en Eclipse activando y configurando la siguiente opción en Windows -> Preferences -> Java -> Editor -> Content Assist:

  Nueva y útil funcionalidad en Chrome 60: identificadores de terceras empresas

Los valores que tenemos que poner son:

  • Auto Activation Delay (ms): 0
  • Auto activation triggers for Java: .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Auto activation triggers for Javadoc: @#

Deshabilitar la navegación de cursor con varios pasos por palabra

Supongo que es cuestión de gustos y que incluso esta opción puede resultar atractiva para mucha gente, pero personalmente estoy muy acostumbrado a que cuando pulso Ctrl+Izda estando sobre el nombre de una variable, el cursor salte hasta el comienzo del nombre completo de la variable.

Eclipse, por defecto, activa una opción que en algunos sitios se conoce como CamelHumps, según la cual el cursor va deteniéndose dentro de la palabra, cuando detecta mayúsculas, como en el siguiente ejemplo:

Dicho comportamiento puede desactivarse en la ventana: Windows -> Preferences -> Java -> Editor, desmarcando la opción “Smart caret positioning in Java names”.

Hacer que la tecla Inicio te lleve al comienzo real de la línea

De forma similar al punto anterior, cuando en Eclipse pulsamos la tecla Inicio o Home, el cursor saltará al inicio de la línea, pero con un comportamiento distinto en función de la línea en la que estemos. Por ejemplo, si la línea es un comentario, el cursor se posicionará a la derecha de las barras que inicia el comentario //.

Este comportamiento puede desactivarse en Window -> Preferences -> Editors -> Text Editors, desmarcando la opción “Smart caret positioningat line start and end”:

Habilitar Folding

Lamentablemente, Eclipse no soporta regiones de forma nativa como Visual Studio y C#. Android Studio sí incorpora esta funcionalidad, pero para lograr algo parecido en Eclipse tendríamos que recurrir a plugins (y la mayoría están descontinuados).

Lo que sí podemos habilitar es un folding básico para comentarios, métodos, etc., en la ventana: Window -> Preferences -> Java -> Editor -> Folding

Formato e indentación automática

Visual Studio incorpora una funcionalidad que me encanta: siempre que cerramos una llave, aplica un formateo automático a todo el bloque de código que comprende dicha llave.

No he encontrado una funcionalidad equivalente en Eclipse. Lo más parecido que he visto es la opción de formateo automático al grabar un archivo, en la ventana: Window -> Preferences -> Java -> Editor -> Save Actions.

Se puede aprovechar para activar también otra opción interesante: Organize Imports, que ahorra trabajo a la hora de gestionar los molestos imports de Java.

Configurar cierres automáticos

Al igual que Visual Studio¸ Eclipse permite configurar cómo y cuándo cerrar automáticamente paréntesis, llaves, cadenas de texto y comentarios. En la ventana: Window -> Preferences -> Java -> Editor -> Typing

  Suerte intentando meter a un desarrollador en la oficina: casi el 90% quiere teletrabajar, según datos de GitHub

Configurar comportamiento de Strings

Por defecto, Eclipse realiza algunas tareas cuando se “pegan” cadenas de texto en el código, como wrapping automático o escapar los caracteres que haya en la cadena.

Son opciones que pueden resultar útiles en algunos casos, pero que por lo general resultan incómodas para un desarrollador de Visual Studio. Pueden desactivarse aquí en: Window -> Preferences -> Java -> Editor -> Typing

Desactivar comprobaciones ortográficas

Esto es algo que Visual Studio no hace por defecto y que, aunque puede resultar de gran utilidad para mucha gente, a mí personalmente no me gusta.

Además, y aunque es poco probable que se note, me parece un gasto innecesario de recursos. Prefiero que Eclipse dedique la CPU a reaccionar con la mayor velocidad posible (por ejemplo a la hora de proponer contenidos con su Intellisense) en lugar de a analizar la ortografía de mi código. Podéis desmarcar la opción en: Window -> Preferences -> General -> Editors -> Text Editors -> Spelling:

En resumen

Eclipse y Visual Studio son entornos muy diferentes, pero se puede conseguir que se parezcan bastante con unos cuantos ajustes estratégicamente aplicados. En este caso hemos visto cómo hacer que Eclipse se parezca a Visual Studio, de modo que si eres fundamentalmente programador de C# o C++ y debes empezar a trabajar con Java, no solo te sentirás mucho más cómodo, sino que además tu productividad aumentará al encontrarte como en casa desde el principio.

Recuerda que puedes descargar el siguiente archivo XML para configurar un nuevo profile de estilo de código que imita el utilizado por Visual Studio en C#.

Espero que te resulte útil.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad