If you've been living under a rock, you might not know that Microsoft released a new editor (focused on web development): Visual Studio Code.
So… is it really just for web development? Honestly, it doesn't matter if it starts out that way because the thing that Microsoft tends to always get right is extensibility. We'll be able to start building plug-ins as the product matures to enable all sorts of development, including Swift!
Syntax Highlighting
Ok, the first thing that we need are the nice colors! This is actually fairly trivial to do:
- Open up the package contents of the Visual Studio Code app 2. Navigate to
Contents/Resources/app/plugins
3. Create a new folder:vs.languages.swift
4. Place these three files into the created folder:- swiftDef.js
- swiftMain.js
- ticino.plugin.json 5. Restart Visual Studio Code and open a Swift file!
You should see something like this:
Note that this is just the most basic of highlighting that supports basic comments, strings, and keywords. More to come later!
Building
Next up, build errors! Again, this is also quite trivial to setup. You'll need to create a new build task. You can do this in a couple of ways. The easiest is:
‚åòP
to bring up the command palette 2. Typebuild
and pressRETURN
3. There will be a prompt that you have not tasks; create the task 4. This will create a.settings
folder with atasks.json
file
The contents of the file should be:
{
"version": "0.1.0",
"command": "swiftc",
"showOutput": "silent",
"args": ["main.swift"],
"problemMatcher": {
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
Now, you can press ⇧⌘B
now to build. If you have an error, press ⇧⌘M
to show the error pane.
Next Steps
I'll probably be taking a look at making the editing experience better by playing around with the options for syntax highlighting. I also want to take a look at building a language service, though, officially this is not yet supported.
Goodie Bin
Ok… if you want to contribute to this, I've actually posted a fill GitHub repo here: https://github.com/owensd/vscode-swift.
What I actually have done, instead of creating a directory, is create a link within the Visual Studio Code package to my repo location on disk.
cd /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/plugins
2.ln -s <path/to/repo> vs.languages.swift
3. Restart Visual Studio Code
Voilà!