Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tlaplus/vscode-tlaplus

TLA+ language support for Visual Studio Code
https://github.com/tlaplus/vscode-tlaplus

formal-methods model-checking pluscal specification tla tlc verification vscode-extension

Last synced: 3 days ago
JSON representation

TLA+ language support for Visual Studio Code

Awesome Lists containing this project

README

        

# TLA+ for Visual Studio Code

[![Build Status](https://img.shields.io/github/actions/workflow/status/tlaplus/vscode-tlaplus/ci.yml?branch=master)](https://github.com/tlaplus/vscode-tlaplus/actions?query=workflow%3ACI) [![VS Code extension version](https://img.shields.io/visual-studio-marketplace/i/tlaplus.vscode-ide?color=blue&label=Stable%20Release&style=flat-square)](https://marketplace.visualstudio.com/items?itemName=tlaplus.vscode-ide)

This extension adds support for the [TLA+ formal specification language](http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html) to VS Code. It also supports running the TLC model checker on TLA+ specifications.

## Features

- TLA+ and PlusCal syntax highlighting and code snippets.
- Running the PlusCal-to-TLA+ translator and module parser.
- Running TLC model checker on TLA+ specifications.
- Model checking process and result visualization.
- Evaluating constant expressions.
- Converting TLA+ specifications to LaTeX and PDF documents.
- Code completion.
- Code on-type formatting.
- Powered by the [official TLA+ tools](https://github.com/tlaplus/tlaplus).

## Documentation

[The project's Wiki](https://github.com/tlaplus/vscode-tlaplus/wiki) provides information on how to install, configure and use the extension.

* [How to Install](https://github.com/tlaplus/vscode-tlaplus/wiki/How-to-Install)
* [Getting Started](https://github.com/tlaplus/vscode-tlaplus/wiki/Getting-Started)
* [Settings](https://github.com/tlaplus/vscode-tlaplus/wiki/Settings)
* [Commands](https://github.com/tlaplus/vscode-tlaplus/wiki/Commands)
* [Setting up Environment](https://github.com/tlaplus/vscode-tlaplus/wiki/Setting-up-Environment)
* [Caveats](https://github.com/tlaplus/vscode-tlaplus/wiki/Caveats)
* [Troubleshooting](https://github.com/tlaplus/vscode-tlaplus/wiki/Troubleshooting)

## Contributing

All forms of contribution are highly welcome! Feel free to file bugs, propose improvements, ask questions, send other feedback.

If you decide to pitch in and write some code, this document will provide you with useful information: [CONTRIBUTING.md](CONTRIBUTING.md).

## TLA+ Resources

If you're not familiar with TLA+, but want to get a grasp on it, the following list of resources is a good starting point:

* [TLA+ Home Page](http://www.tlapl.us) on Leslie Lamport's website.
* [A collection of TLA+ specification examples](https://github.com/tlaplus/Examples) in the TLA+ repository.
* [Introduction to TLA+ and PlusCal](https://learntla.com) by Hillel Wayne.
* [TLA+ in Practice and Theory](https://pron.github.io/posts/tlaplus_part1) by Ron Pressler.

## License

[MIT](LICENSE)