A Visual Studio Code extension providing language server support for the Rocq/Coq interactive theorem prover.
VsRocq is a Visual Studio Code extension that provides integrated support for the Rocq/Coq interactive theorem prover. It enables developers to write, check, and manage formal proofs directly within VS Code or VSCodium, offering features like asynchronous proof checking, goal panels, and query tools. The extension solves the problem of disjoint tooling for theorem proving by bringing a cohesive, editor-native experience.
Developers, researchers, and students working with the Rocq or Coq theorem provers for formal verification, proof engineering, or educational purposes.
Developers choose VsRocq for its robust LSP-based architecture, which ensures reliable performance and deep editor integration. Its customizable proof modes and interactive features provide a more efficient and intuitive workflow compared to basic Coq IDE tools.
Visual Studio Code extension for Coq
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables continuous and incremental checking of Rocq/Coq documents, updating goals in real-time as you edit, which speeds up proof development by providing immediate feedback.
Offers multiple goal display modes (tabs or accordion lists) with ellipsis support for large goals, and a dedicated query panel for efficient proof management, as shown in the README gifs.
Built on the Language Server Protocol, ensuring high performance, extensibility, and seamless integration with modern editor workflows, as emphasized in the philosophy section.
Provides automated fixes for common errors in Rocq/Coq >= 8.21, reducing manual debugging effort, though it's limited to newer versions.
Requires separate installation of the language server via opam or nix, with careful version matching to the VS Code extension, leading to potential setup errors and troubleshooting needs.
The extension and language server are released independently, causing initialization failures if versions don't align, as noted in the troubleshooting section with commands appearing to do nothing.
Only supports Coq versions >= 8.18, forcing users with older projects to switch to VsCoq Legacy, which adds overhead for maintaining legacy codebases.
Key features like code completion are marked as experimental and disabled by default, indicating they are not fully stable or ready for production use.