A Visual Studio Code extension that provides language support for Arm Assembly by means of the ArmLS language server.
In addition to syntax highlighting, this extension offers rich editor features including on-hover documentation and go-to-definition.
-
Syntax highlighting
-
Hover support for instructions and operands:
-
Completion sourced from mnemonics, labels, set directives, and macros
-
Document symbols (goto definition and document symbols)
-
Real-time diagnostics with customizable configuration and support for
clang
Armv9.7-A, both A32 and A64.
You can configure this extension through the Settings page in VS Code.
- Press
Ctrl+,to open the Settings page. - Search for "ArmLS".
To disable particular diagnostic categories, use the Armls › Diagnostics: Disable Categories setting.
To configure whether ArmLS provides validation diagnostics to VS Code, use the Armls: Enable Diagnostics setting.
To configure external diagnostics by means of a clang binary:
- Use the ArmLS > External Diagnostics > clang: Path setting to specify the path to the
clangexecutable file. - Use the ArmLS > External Diagnostics > clang: Args setting to specify any arguments.
ArmLS is in preview and has the current limitations:
- No support for cross-file references
- No support for C/C++ pre-processor syntax
- The internal diagnostics engine is alpha quality and might display false positives. We recommend that you use
clang-powered diagnostics at this time. - A32 only supports
Unified Assembler Language
(
.syntax unified)
To report bugs or request enhancements, use the ArmLS repository's GitHub issues.




