NASM x86/x86_64 IntelliSense
NASM IntelliSense is a VS Code extension that adds (Simple) language-server powered editing for NASM-style x86 and x86_64 assembly:
- Autocomplete for instructions, registers, directives, and in-file labels/constants.
- Hover docs for core instructions, registers, and directives.
- Diagnostics by running the local
nasm assembler.
- Go to Definition for labels and
equ constants.
- Syntax highlighting via a NASM TextMate grammar.
This extension is built on the Language Server Protocol (LSP) with a dedicated Node-based language server.
Example

Features
BTW, TextMate grammar is what vscode uses to colourise tokens.
Configuration
All settings live under the nasmIntellisense section:
nasmIntellisense.nasmPath (string, default: "nasm"):
- Path to the
nasm executable.
- Override this if
nasm is not on your PATH or has a nonstandard name.
nasmIntellisense.enableDiagnostics (boolean, default: true):
- If
true, the server runs nasm to provide error diagnostics.
- If
false, no diagnostics are produced, but autocomplete, hover, go to definition, and highlighting still work.
- You can toggle this at any time using the “NASM IntelliSense: Toggle Diagnostics” command.
nasmIntellisense.diagnosticsOnSaveOnly (boolean, default: true):
- If
true, diagnostics are only run on save.
- If
false, diagnostics may run after edits (debounced on the server side).
nasmIntellisense.arch ("x86" | "x86_64", default: "x86_64"):
- Architecture used when invoking
nasm:
"x86_64" → -f elf64
"x86" → -f elf32
Commands
NASM IntelliSense: Restart Language Server
- Stops and restarts the language server.
- Useful after changing configuration or updating
nasm.
NASM IntelliSense: Show Server Status
- Shows whether the language server is currently running.
NASM IntelliSense: Toggle Diagnostics
- Flips
nasmIntellisense.enableDiagnostics for the current workspace.
- Use this to quickly turn off error squiggles while keeping:
- Syntax highlighting.
- Completions.
- Hover docs.
- Go to Definition.
Requirements
- VS Code on a supported version (see
engines.vscode in package.json).
- Node.js for extension development (if you are building from source).
- NASM assembler (optional, but required for diagnostics):
- Install
nasm and ensure it is on your PATH, or set nasmIntellisense.nasmPath.
Building and Running (from source)
npm install
cd server
npm install
cd ..
npm run compile
- Debug / Run Extension:
- Open the project folder in VS Code.
- Use the “Run Extension” launch configuration (F5).
- In the Extension Development Host that opens:
- Open
examples/test.asm, or any .asm / .nasm file.
- Start editing to see completions, hover info, highlighting, and (if enabled) diagnostics.
Known Quirks and Limitations
Contributing / Extending
I am so Sorry
This extension was made with help from AI- claude and cursor.
| |