Hacé tu fork en GitHub

Un tour por Wollok


A continuación te vamos a contar cuáles son las principales herramientas con las que cuenta el entorno integrado de Wollok. También tenés este tutorial paso a paso que te ayudará a conocer las herramientas


El editor de Wollok ofrece desde ya coloreado de sintaxis, pero también viene con capacidades de autocompletado.


Por ejemplo, podemos crear a pepita, un ave que tiene energía y que sabe volar. Activamos el autocompletado de los elementos sintácticos de Wollok mediante las teclas Ctrl + Barra.
Responsive image

También con las teclas Ctrl + Barra podemos activar autocompletes más elaborados, como las estructuras de selección(if) o la creación de una clase

Aquí utilizamos asistentes de contenido más específicos para, por ejemplo, saber qué mensajes enviar a un objeto:



Familiarizarse con el editor es fundamental para sentirnos cómodos en el ambiente de trabajo. Por eso te queremos contar algunos de los shortcuts que va a hacerte más feliz la estadía.


Herramientas para buscar...


Ctrl + R: busca un recurso (archivo), filtrando por nombre o extensión.
Ctrl + Shift + F3: busca cualquier objeto, clase o mixin creado por vos o que venga con la biblioteca de Wollok, como Date, Set o String.


Ctrl + O permite buscar dentro de un archivo todo tipo de elementos: definiciones de objetos, clases, variables o métodos.

Un popurri de uso de shortcuts para borrar, intercalar líneas o comentar/descomentarlas.

Resumen de shortcuts útiles

Teclas ¿Qué hacen?
Ctrl + Espacio Autocompletado
Ctrl + 1 Ayuda contextual para resolver un problema (ver Quick Fixes)
Ctrl + Shift + F3 Busca un elemento (objeto, clase, etc.) dentro del ambiente
Ctrl + O Busca una definición dentro de un archivo
F3 Va de una referencia a su definición
Alt + Flecha Arriba | Flecha Abajo Mueve toda la línea hacia arriba o abajo
Ctrl + D Elimina una línea
Ctrl + Shift + C Comenta una línea
Alt + Shift + R Renombra una referencia
F2 Renombra un archivo
Ctrl + S Guarda un archivo
Ctrl + Shift + S Guarda todos los archivos modificados
Ctrl + M Maximiza la ventana activa
Ctrl + Shift +/- Manejo de zoom de la ventana (Agranda o achica el font)
Ctrl + PageDown / PageUp Avanza / Retrocede un tab en los archivos abiertos dentro del Editor
Ctrl + Shift + L Muestra la lista de shortcuts activos

La detección temprana de errores es una herramienta que va orientando al desarrollador a construir software con mayor robustez. En Wollok este rol lo cumple el validador que está integrado totalmente con el editor.

Detecta construcciones erróneas (constructores en objetos o tests, referencias inválidas, envíos de mensajes incorrectos, entre otros), también chequea el uso o inicialización de variables y constantes como la mayoría de los entornos modernos. Pero Wollok lleva las validaciones a un nivel extra: evita malas prácticas como las construcciones "if (expresion) return true else false", redefinir métodos que solo llamen a super, definir constructores que no inicialicen referencias constantes, definir una estructura de clases con referencias circulares, etc.

Y lo más importante, cada año se incorporan y se revisan esas validaciones de acuerdo a los trabajos prácticos que realizan los estudiantes. Sí, el código escrito retroalimenta al lenguaje.



Una muestra de cómo funciona el validador. Al posicionarnos con el mouse sobre la parte izquierda, se expande la descripción de la advertencia (en amarillo) o el error (en rojo). En la solapa Problemas tenemos un resumen de todos los issues de cada uno de los proyectos.

¿Cómo visualizar la solapa Problemas?

Para activarla, se debe ir al menú Ventana > Mostrar vista > Otras > y buscamos "Problemas". Allí se agrupan los diferentes tipos de problema (error, advertencia, información).


¿Puedo ejecutar un programa con errores o advertencias?

La respuesta es sí: en el caso de las advertencias, se pasan por alto al ejecutar un programa, un test o la consola REPL. En el caso del error, te aparecerá un mensaje de confirmación, ya que el error puede ser que impida la normal ejecución del software que creaste.


Tareas pendientes en el IDE

Si en algún momento escribís código y no quedás del todo conforme, o bien querés avanzar y pensás mejorarlo más adelante, podés generar un recordatorio escribiendo un comentario con las palabras TODO o FIXME. Cuando abras la solapa Tareas (Ventana > Mostrar vista > Otras > buscamos Tareas) tendrás la lista completa de temas pendientes. Haciendo doble click sobre cada elemento te lleva directamente al código.



Escribimos en el código los tags TODO (pendiente) o FIXME (solucionar o mejorar) y aparecerá automáticamente en la vista Tareas.

Para configurar que otras palabras clave aparezcan en la solapa Tasks, activás el menú Ventana > Preferencias > Etiquetas de Tareas (Task tags) y agregás o modificás las etiquetas existentes.



Detectar los errores es el primer paso, Wollok permite aplicar soluciones predefinidas a problemas frecuentes. Para activarlo, basta con ubicarse en la parte subrayada en rojo dentro del código y presionar Ctrl + 1, o bien dejar que se active el menú contextual. Entonces se habilita una serie de opciones (quick fixes) que permiten resolver ese conflicto.


En el ejemplo vemos cómo desde un test podemos crear un wko, o una clase, y agregarle métodos nuevos.
Esto podés hacerlo desde un WKO, clase o mixin.

Crear una clase, un wko, agregar métodos, referencias (locales, de instancia, parámetros), eliminar construcciones redundantes, corregir llamadas a constructores, son solo alguna de las posibilidades que tenés, que te permiten concentrarte en el diseño y automatizar tareas repetitivas de implementación.



Formateo básico de una clase.

Wollok tiene un formateador basado en su sintaxis que estiliza el código y le da un formato homogéneo, algo necesario en un lenguaje educativo que propone proyectos donde se conforma un grupo de trabajo. Para activarlo, ubicado sobre un archivo, presioná las teclas Ctrl + Shift + F (Format):


Formateando closures e if con o sin llaves.



Ejecutando en la consola un archivo .wlk.
En la imagen se ve que la consola nos avisa si el contexto de ejecución está sincronizado con la última versión del archivo.

Una de las primeras herramientas para trabajar es la consola REPL (nombre que surge del acrónimo Read, Evaluate, Print, Loop), que permite la interacción inicial entre el usuario y el intérprete Wollok.

Si bien tiene algunos alcances limitados (no posee por el momento opciones de autocompletado, y requiere reiniciarse cada vez que hagamos un cambio en el archivo original), es una forma de comenzar a conocer cómo responden los objetos ante el envío de un mensaje.

Para utilizarla, basta con hacer click derecho sobre un archivo .wlk y elegir la opción "Ejecutar en consola REPL". También existe el botón "Play" en la barra de herramientas.


Podés enviar mensajes a objetos, crear referencias constantes o variables, probar cómo funcionan los números, las fechas y otros objetos que vienen con Wollok, etc. Para ello escribís la línea y al final presionás la tecla Enter. Con la flecha arriba te irán apareciendo los mensajes que enviaste anteriormente. También podés pegar código del portapapeles, y los errores se integran directamente con el editor.


Recordá que cuando modifiques un archivo .wlk, debés reiniciar la consola para que tome los cambios. En la barra de herramientas a la derecha te dice si la consola está sincronizada.

Exportar una sesión a un test

Podemos exportar una sesión de nuestra consola a un test, mediante el botón específico en la barra de herramientas como se muestra a continuación:



Ejecutar una sesión sin un archivo asociado


Por último, tenés la posibilidad de ejecutar la consola sin necesidad de asociarlo a un archivo particular, mediante una opción específica en la barra:



La consola interactiva es útil para dar los primeros pasos, pero cuando necesitamos poder automatizar nuestras pruebas, el Test Runner de Wollok es la herramienta más adecuada para poder validar el software que construimos.


Ejecutando un conjunto de tests: vemos que se puede filtrar errores y fallas,
que podemos navegar directamente al código donde se originó el error,
y cómo la ejecución de los tests es un proceso iterativo e incremental.

Si querés conocer más acerca del testeo unitario de Wollok te recomendamos que leas este apunte.

Ejecutando todos los tests de un proyecto o directorio

Es posible ejecutar todos los tests de un proyecto, o bien los tests de un directorio (si organizaste en una carpeta varios .wlk), para eso tenés la opción desde el menú de opciones del navegador del proyecto (Package Explorer):


Ejecutando todos los tests de un proyecto. Aquí vemos que corren además de los 3 tests del archivo example.wtest, también se ejecutan los del archivo test.wtest

Wollok trae también herramientas para comunicar el diseño, como el diagrama estático que está totalmente integrado con el editor. A medida que vamos escribiendo el diagrama estático se regenera y se guarda junto con el proyecto. Podemos configurar qué variables, métodos y elementos (WKO, clases, mixins) mostrar.


Una pequeña demostración del diagrama estático de Wollok

Para conocer en detalle todas las funcionalidades te recomendamos que leas este apunte.