Fork me on GitHub

Take the Wollok tour!


These are the main tools of Wollok Integrated Development Environment.


Wollok editor comes not only with syntax colouring but also with autocompletion.


We can create 'pepita', a bird with energy and fly capabilities. We activate syntactic elements autocomplete by pressing Ctrl + Space keys.
Responsive image

There are also more complex autocomplete actions, such as control structures(if) or class creation

Here we use autocomplete to send a message to a well-known object:



Getting used to editor is essential to feel comfortable in your everyday work. That's why we want to tell you most common shortcuts of Wollok's environment.


Search tools...


Ctrl + R: looks for a resource / file, filtering by name or extension.
Ctrl + Shift + F3: looks for any object, class or mixin, including Wollok's library, such as Date, Set o String.


Ctrl + O looks inside a file all kind of definitions: objects, classes, variables or methods.

Several uses of shortcuts: deleting or mvoing lines, add comments, etc.

Useful shortcuts guide

Keys What do they do
Ctrl + Space Autocomplete
Ctrl + 1 Contextual help. Quick Fix.
Ctrl + Shift + F3 Looks for an element (object, class, etc.) in whole environment
Ctrl + O Looks for a definition inside a file
F3 Goes from a reference to its definition
Alt + Arrow Up | Arrow Down Moves the whole line up or down
Ctrl + D Deletes current line
Ctrl + Shift + C Adds a comment to current line
Alt + Shift + R Renames a reference
F2 Renames a file
Ctrl + S Saves a file
Ctrl + Shift + S Saves all modified files
Ctrl + M Maximizes current window
Ctrl + Shift +/- Window Zoom in / out (font size increases / decreases)
Ctrl + PageDown / PageUp Goes next / previous files of editor
Ctrl + Shift + L Shows list of active shortcuts

Wollok's validator is fully integrated with editor. It has an early error detection that helps developers to build better and robust software.

Invalid constructions (like constuctors in objects or tests, invalid references, missing methods, among others), and also variables and constants uses and initialization are some of this static checks. But Wollok enforces good programming practices, avoiding "if (expression) return true else false" bad smell, overriding methods just to call super, define constructors without initializating constants references, define a cyclic hierarchy of classes, etc.

And most importantly, every year we review and add new validations according to the work of our students, so written code gives feedback to the language.



This is how the validator works. Locating the mouse over left border, you can see warning and error messages. In Problems view we can see all projects issues.

How to show Problems view?

To activate it, go menu Window > Show View > Other... and search "Problems". There you will see every kind of problem (error, warning, information).


Can I execute a program if it has errors or warning?

Short answer: yes, you can. In case of warnings, they may be just a bad smell indication or the origin of a future problem. In case of an error, you have to confirm your execution, because this error could lead to undesired behavior of your program, test or REPL console.


Pending tasks

If you would like to record reminders to follow up something later, add it to the Tasks view using a comment with a TODO or FIXME keyword. When you open Tasks view (Window > Show view > Other ... and search for Tasks), you'll have the full list of pending tasks. Double click on each element will lead you directly to the code.



Writing down in code TODO and FIXME tags will add a task in Tasks View.

If you want to configure new keywords for tasks view, go menu Window > Preferences > Task tags and add or update existing tags.



Error detection is our first step. Wollok has common solutions to frequent problems. You just have to point your mouse over red line in code and press Ctrl + 1, or let the contextual menu appear. All feasible options to fix this conflict will be shown.


In this example we create a wko / class from a test, and then we add new methods to it.
This can be done from any WKO, class or mixin.

Create a class, a WKO, add methods, local or instance references, parameters, delete redundant expressions, correct or adapt constructor calls, are only one of many possibilities you have, to automate tedious implementation tasks and let you focus on design and modeling activities.



Basic formatting of a class.

Wollok has a formatter based on its syntax, so code will be stylized and homogeneous, something very useful while working in a programming team. You can use it by pressing Ctrl + Shift + F keys:


Formatting closures & if with and without braces.



Executing a .wlk file in REPL console.
In image you can see console warns us if execution context is synchronized with last version of wlk file.

One of the first tools we use to test our definitions is REPL console. REPL stands for Read, Evaluate, Print, Loop) acronym, so user can interact with Wollok interpreter easily.

It has some limitations: it has no autocomplete options, and you must restart console every time you make a change in a file. Nevertheless it is a good start to know how objects respond to messages.

If you want to use it, right click over a .wlk file and choose "Run in REPL console" option. You can also use "Play" button in toolbar.


You can send messages to any object, create constant or variable references, test how numbers, dates and other Wollok library objects work, etc. You just have to write a line and press Enter. If you press Arrow Up key you will get last line written, and clipboard facilities are also provided. All errors are directly linked to editor.


Reminder: every time you change a .wlk file, you must restart console to consider this updates. Console's toolbar shows synchronization status of .wlk file.

Exporting console session to a test

We can export a console session into a test file, by pressing a specific button in toolbar, as showed below:



Executing a session without a file


Last, you can execute REPL console without selecting a file at all. Just press this button in toolbar



Interactive console is useful at first beginning, but soon we discover that test automation is a need. Wollok Test Runner is the more suitable tool to validate the software we build.


Executing a test suite: we can filter failures and errors,
stack trace leads to the code in editor,
that tests execution is an iterative and incremental process.

If you want to get deep into unit testing we recommend you to read this article (in spanish).

Executing all project or folder tests

You can execute all tests of a certain project, or all tests of .wtest files grouped in a folder, from contextual menu in Package Explorer:


Executing all project tests: there are 5 tests, 3 from example.wtest and 2 from test.wtest

Wollok has also design communication tools, like the static diagram, fully integrated with editor. As soon as you write in editor, static diagram is updated and saved into the project. We can configure which variables, methods and elements (WKO, classes, mixins) must appear.


A small static diagram demo

If you want to know all static diagram features you can read this article (in spanish).