SonarLint: Integración de Sonar en IntelliJ IDEA

3
29299

SonarLint: Integración de Sonar en IntelliJ IDEA

Índice de contenidos

1. Introducción

En la introducción del tutorial Integración de SonarQube en Eclipse
se exponen las razones de la integración de nuestro entorno de desarrollo con el servidor de sonar corporativo. En esta
ocasión vamos a mostrar la instalación
e integración del plugin SonarLint para IntelliJ IDEA.

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro Retina 15′ (2.2 Ghz Intel Core I7, 16GB DDR3).
  • Sistema Operativo: Mac OS El Capitan
  • Entorno de desarrollo: Intellij Idea 2016.2.2
  • SonarQube 5.1.2

3. Instalación

Para instalar plugins en IntelliJ Idea, en el menú de preferencias, hay un apartado llamado Plugins, no tiene
pérdida.
Nos muestra los plugins actualmente activos y, en la parte inferior, nos ofrece tres opciones: instalación de
plugins de JetBrains, búsqueda de plugins en los repositorios e instalar plugin desde nuestro disco local.
Si le damos a Browse repositories, tendremos un cuadro de búsqueda para filtrar por nombre de plugin.

SonarLint01

Escribiendo SonarLint aparecerá el plugin y una descripción sobre el mismo. En la descripción está el botón de
Instalar.

SonarLint02

Tras pulsarlo, se instala el plugin y pedirá reiniciar el IDE.

SonarLint03

4. Configuración

Una vez que termine de reiniciarse, en el cuadro de búsqueda del menú de preferencias escribimos SonarLint. Con el
filtro aparece una configuración general de SonarLint y otra para el proyecto.

SonarLint04

En la general, vamos a agregar el servidor de sonar corporativo.

SonarLint05

Se indica el nombre que queramos, y la URL del servidor. También indicamos el tipo de autenticación, en nuestro
caso, mediante usuario y password. Comprobamos que la conexión se realiza satisfactoriamente.

SonarLint06

Damos a OK y cerramos la ventana de diálogo. En SonarQube servers aparece nuestro servidor. Se pueden agregar varios
servidores.

En cuanto se añade un nuevo servidor, realizará una actualización de datos contra el servidor para obtener
información sobre el listado de proyectos, las reglas, perfiles, etc. Posteriormente podemos actualizarlo con
Update Binding.

SonarLint07

Desde SonarLint Project Settings se configura sonar para nuestro proyecto. Se activa la conexión.

SonarLint08

Seleccionamos el servidor contra el que queremos pasar el análisis de este proyecto

SonarLint09

y en SonarQube project seleccionamos el proyecto en el que estamos trabajando.

SonarLint10

5. Análisis

Ya lo tenemos configurado, solo falta lanzar en análisis de sonar. En la parte inferior tenemos el menu SonarLint
con un icono rojo (junto al terminal, Version Control, etc), en el
podemos configurar el scope del análisis con el fichero actual o con todos los abiertos (aún no está disponible un análisis completo del proyecto). Seleccionamos el que se
desee y le damos al triángulo verde.

SonarLint11

Cuando termina el análisis, tenemos los issues por cada fichero y el listado desplegable, y en el propio fichero
abierto nos marca los problemas (issues).
También muestra la explicación de java respecto a la vulnerabilidad.

SonarLint12

6. Ponlo a tu gusto

Los issues detectados Sor sonar dentro del código vienen con unos colores por defecto, pero dentro de preferencias, en editor -> Colors &
Fonts -> SonarLint
los podremos configurar como queramos.

7. Conclusiones

La instalación y configuración del plugin SonarLint es muy sencilla, y aunque el tutorial está basado en IntelliJ,
el plugin está también disponible para Eclipse y Visual Studio, así que no hay excusa para no integrarlo con nuestro
IDE favorito.

8. Referencias

3 COMENTARIOS

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad