Development
Let's get started by creating a project. From the menu, select
File > New > Project from existing sources
. Select the deps.edn
file, the desired version of SDK and finish the wizard.Make sure to activate the
:dev
alias (and press the "two arrows" icon to refresh):
Let's create a REPL by clicking
Add Configuration
:
Click the
+
sign and select Clojure REPL > Local
:
Fill in:
- Name: REPL
- Which type of REPL to run: nREPL
- Run with Deps: (select)
- Aliases: test,dev
Press OK and start the REPL in debug mode, by clicking the bug icon:

When this turns up:
nREPL server started on port 53536 on host localhost - nrepl://localhost:53536
Clojure 1.10.3
...we are ready to go!
If we look at the
deps.edn
file again, we can see that "development/src" was already added to the path: :aliases {:dev {:extra-paths ["development/src"]
This gives us access to the
development/src
directory so that we can work with the code. Right now there is only one directory here, but every time we create a new component or base, we normally add them to the path too (the exception is if you have several components sharing the same interface, but more on that later).The "development/src" path belongs to the
dev
alias which we activated previously and also added to the REPL by selecting the "dev,test" aliases. This means that we have configured everything that tools.deps needs and that we are ready to write some Clojure code!To do that we first need to create a namespace. We suggest that you use
dev
as a top namespace here and not the workspace top namespace se.example
. The reason is that we don't want to mix the code we put here with the production code.One way of structuring the code is to give all developers their own namespace under the
dev
top namespace. Let's follow that pattern and create the namespace dev.lisa
.Right click on the
development/src
directory and select New > Clojure Namespace
and type "dev.lisa":
When this dialog turns up, select "Remember, don't ask again" and click the
Add
button:
Now let's write some code:
(ns dev.lisa)
(+ 1 2 3)
Make sure the namespace is loaded, by sending
(ns dev.lisa)
to the REPL. If we then send (+ 1 2 3)
to the REPL we should get 6
back, and if we do, it means that we now have a working development environment!
Last modified 1yr ago