-
Notifications
You must be signed in to change notification settings - Fork 8
Getting Started
In order to install and use Visual Studio Code and the VDM VSCode extension, you must have the following:
- An operating system that supports Visual Studio Code (Windows 8, 10, 11; various Linux systems; MacOS 10.11+)
- Visual Studio Code ≥ v. 1.49.0 (To use the latest version of the extension you will usually need the latest version of Visual Studio Code too)
- Java ≥ v. 11 (You MUST have Java installed on your system. Without Java, the VDM extension will install but it will not function at all. If Java is missing or outdated, the extension will display an error message).
Installing VDM VSCode is simple. You can find it in Visual Studio Code Marketplace, or type "@id:overturetool.vdm-vscode" or "vdm-vscode" in the Extensions view search box. See the official marketplace documentation for more details.

After installation, you can start creating new projects and organising them into workspaces of related projects. You can also import projects from a large number of examples distributed with the VDM VSCode extension.
Details of how to do this are available on the Projects and Workspaces page.
VDM VSCode offers a complete set of features to enable you to develop and test VDM specifications. Features include:
- Editor Features
- Interpretation and Debugging
- Including Libraries
- Proof Obligation Generation
- Combinatorial Testing
- Animated Usage Examples
- Extension Settings
- Changing VDMJ Properties
- Translation
- Coverage
- Dependency Graph
- Real-time Log Viewer
- Code Generation
See these animated usage examples for an overview of how to use some features of the extension. Or see the respective pages for each of the features.
- Home
- Getting Started
- Editor Features
- Including and Excluding Project Files
- Interpretation and Debugging
- Including Libraries
- Proof Obligation Generation
- Combinatorial Testing
- Animated Usage Examples
- Worked AlarmSL Examples
- Extension Settings
- Changing VDMJ Properties
- Translation
- Coverage
- Dependency Graph
- Real-time Log Viewer
- Code Generation
- Remote Control
- External File Formats
- Annotation Output
- Using VDM Values in Java
- VS Code Live Share
- Design
- The Specification Language Server Protocol
- For Developers/Contributors