Zero to Project: Swift on Linux
As I’m doing Advent of Code 2020, I wanted to try out server-side Swift on Ubuntu, knowing it would be limited without XCode. This turned out to take many searches to get right.
Visual Studio Code is the best option for a pseudo-IDE since IntelliJ AppCode is still limited ot Mac OSX only.
Installing
-
Installing Swift is easy enough: install the listed dependencies and download a release here, untar wherever you want and add it to PATH through
/etc/environment
(or put it in/usr/bin
) and make sureswift --version
works. For reference I get 5.3.1 as of writing this. -
In VSCode, install this extension (the only one with some level of maintaining)
-
For autocompletion, the Swift toolchain also comes with its language server under
swift-5.3.1-RELEASE-ubuntu18.04/usr/bin/sourcekit-lsp
. In VSCode, set1
2"sde.languageServerMode": "sourcekit-lsp",
"sourcekit-lsp.serverPath": "[path-to-swift]/usr/bin/sourcekit-lsp"If you’re using the settings UI, these are under
Extensions > Swift Development Environment Configuration
.Note that while autocompletion is excellent, jumping to documentation or implementation is unavailable.
-
To set up debugging with LLDB, follow this article. It’s fairly limited however, as you currently cannot see variables, but breakpoints and step-by-step debugging work just fine.
-
SwiftLint is available here but difficult to setup on Linux.
Creating a project
Basic setup (longer version here):
1 |
mkdir myproject |
My resulting project is here. This includes some unit tests so it makes a good starter project as well.
I’m new to Swift, what’s next?
Now you can:
- Launch the REPL (just run
swift
in the terminal) - Take the language tour to get a basic idea of how things work
- Read on the package manager: declaring and importing dependencies, building configurations…
- From there on start using the basic reference as needed.
I hope this helps!