Dasm macro assembler for VSCode
This is a dasm macro assembler extension for Visual Studio Code. It aims to provide the following in-editor features:
Notice, however, that this extension is a work-in-progress and that many features do not work yet. More importantly, it doesn't yet create a separate ROM file nor does it open the emulator preview tab. You would need to rely on the command-line dasm and the Stella emulator (or others) for that.
See more about the motivation for this extension in the Why Atari? document.
So far, the following features are supported:
Basic syntax highlighting
Auto-completion (instructions, pseudo-ops, symbols, and labels)
Real error checking as you type
Hover support for more information
Quick navigate to document labels and symbols
Quick navigate to workspace labels and symbols
Navigate to/peek at definitions for labels and symbols
Highlight all occurrences of a symbol on selection
Find all uses of a symbol or label across files
Rename/refactor symbols or labels across files
For more information on what's left to be done for this extension, please check the roadmap.
Check the changelog for a list of all released versions and their notes.
Bug reports, fixes, and other changes are welcomed. Our repository is on GitHub, and issues and pull requests are accepted. Check the contributing file on information of what the project needs, and how to run the extension locally for development and testing.
This extension uses the original dasm macro assembler via dasmjs, an emscripten-compiled version of the original C code. This is ran on the background, as a language server tracked as a separate part of this repository.
And finally, this extension was heavily inspired by the 8bitworkshop web-based Atari development IDE (but shares no code with it). One could say this extension is an attempt to create a similar Atari development experience, but within a dedicated standalone desktop application. Buy their book to show your support.
The following references were used in creating the documentation provided by this extension:
This follows dasm itself and uses the GNU Public License v2.0.