RISC-V Dump Assembly
VS Code language support for RISC-V objdump-style disassembly files.
Repository
·
Issues
Overview
RISC-V Dump Assembly is a lightweight VS Code extension for reading RISC-V disassembly output generated by tools such as GNU objdump.
It provides syntax highlighting, symbol navigation, outline support, hover information, completions, and configurable formatting for .dump, .objdump, .dis, .disasm, .SText, and .stext files.
Features
- Syntax highlighting for file headers, sections, labels, addresses, machine code, mnemonics, registers, CSRs, immediates, comments, and
<symbol> references.
- Automatic language detection for common RISC-V dump file extensions.
- Outline view grouped by
Disassembly of section ... and labels such as 00000000 <_start>:.
- Go to Definition and hover support for
<symbol> references.
- Basic completions for common RISC-V instructions, registers, and CSRs.
- Document and selection formatting for objdump instruction lines.
- Configurable alignment for addresses, machine code, mnemonics, operands, operand fields, and comments.
# and ; comments keep nested symbol and number highlighting while comment text is marked italic.
Example
00000054 <s_mode_entry>:
54: 00010117 auipc sp,0x10
58: eac10113 addi sp,sp,-340 # ff00 <_stack_top>
5c: 0c0000ef jal 11c <main>
Installation
Build a local VSIX package:
npm test
npx --yes @vscode/vsce package --no-dependencies
Install the generated package:
code --install-extension .\riscv-dump-asm-0.0.6.vsix --force
Reload VS Code after installing or updating the extension.
The formatter reads settings under riscvDumpAsm.format.*.
{
"riscvDumpAsm.format.alignAddresses": true,
"riscvDumpAsm.format.addressWidth": "auto",
"riscvDumpAsm.format.alignMachineCode": true,
"riscvDumpAsm.format.alignMnemonics": true,
"riscvDumpAsm.format.alignOperands": true,
"riscvDumpAsm.format.alignComments": true,
"riscvDumpAsm.format.commentColumn": 60,
"riscvDumpAsm.format.alignOperandFields": true,
"riscvDumpAsm.format.operandFieldWidths": [6, 10, 8]
}
Useful options:
enabled: enable or disable the formatter.
addressWidth: number or auto.
commentColumn: number or preserve.
spaceAfterComma: format operands as a0, a1 instead of a0,a1.
operandFieldWidth: shared width for comma-separated operand fields.
operandFieldWidths: per-field spacing, for example [6, 10, 8].
The formatter preserves unknown lines, labels, section headers, blank lines, and the original text after # comments.
Development
Open this folder in VS Code and press F5 to launch an Extension Development Host. Open jop.dump or rop.SText in that host to verify highlighting and navigation.
Run checks:
npm test
Package:
npx --yes @vscode/vsce package --no-dependencies
License
See LICENSE.