VS Code integration for computational chemistry LSPs
Syntax, file detection, visualization entry points, and LSP startup for 16 computational chemistry and molecular-simulation formats
Features β’ Quick Start β’ Gallery β’ Roadmap
Tired of switching between different editors for VASP, Gaussian, ORCA, CP2K, and other quantum chemistry software? OpenQC brings a shared VS Code surface to the newtontech language-server family.
OpenQC recognizes supported computational chemistry and molecular-simulation files and routes them to the matching language contribution, parser, viewer entry point, or configured LSP command.
OpenQC is the VS Code-facing workspace for the newtontech computational chemistry and molecular-simulation LSP family. It should stay aligned with the standalone language servers listed in src/lsp/registry.ts and summarized in docs/LSP_COMPATIBILITY.md.
The repository root is the canonical VS Code extension package root. Development, tests, packaging, and Marketplace publishing should use the root package.json; stale nested extension package roots are not maintained.
OpenQC currently wires 16 bundled LSP integrations for computational chemistry, materials, and molecular-simulation workflows:
OpenQC tracks latest LSP support by the upstream default branch recorded in src/lsp/registry.ts. Run npm run lsp:check-latest before release or PR handoff to compare local sibling checkouts with the configured remote branch heads. If the main cp2k-lsp-enhanced checkout has unrelated local work, OpenQC can use .worktrees-lsp-latest/cp2k-lsp-enhanced for the latest CP2K LSP without overwriting that checkout.
For per-server parser status, diagnostics, completion, hover, formatting, code actions, and build commands, see the LSP Compatibility Matrix.
| Format | Standalone LSP | OpenQC role |
|---|---|---|
| ABACUS | newtontech/abacus-lsp |
Language contribution, syntax, file detection, LSP startup |
| ABINIT | newtontech/abinit-lsp |
Language contribution, syntax, file detection, LSP startup |
| CIF | newtontech/cif-lsp |
Language contribution, syntax, file detection, LSP startup |
| CP2K | newtontech/cp2k-lsp-enhanced |
Language contribution, syntax, file detection, LSP startup |
| VASP | newtontech/VASP-LSP |
Language contribution, syntax, file detection, LSP startup |
| Gaussian | newtontech/gaussian-lsp |
Language contribution, syntax, file detection, LSP startup |
| ORCA | newtontech/orca-lsp |
Language contribution, syntax, file detection, LSP startup |
| GAMESS (US) | newtontech/gamess-lsp |
Language contribution, syntax, file detection, LSP startup |
| Quantum ESPRESSO | newtontech/qe-lsp |
Language contribution, syntax, file detection, LSP startup |
| NWChem | newtontech/nwchem-lsp |
Language contribution, syntax, file detection, LSP startup |
| GPUMD | newtontech/gpumd-lsp |
Language contribution, syntax, file detection, LSP startup |
| GROMACS | newtontech/gromacs-lsp |
Language contribution, syntax, file detection, LSP startup |
| LAMMPS | newtontech/lammps-lsp |
Language contribution, syntax, file detection, LSP startup |
| MLIP | newtontech/mlip-lsp |
Language contribution, syntax, file detection, LSP startup |
| PyATB | newtontech/pyatb-lsp |
Language contribution, syntax, file detection, LSP startup |
| PySCF | newtontech/pyscf-lsp |
Language contribution, syntax, file detection, LSP startup |
| Software | File Types | Features |
|---|---|---|
| ABACUS | INPUT, STRU, KPT |
LSP startup + syntax + file detection |
| ABINIT | .abi, .abinit |
LSP startup + syntax + file detection |
| CIF | .cif |
LSP startup + syntax + file detection |
| CP2K | .inp |
LSP startup + syntax + file detection |
| VASP | INCAR, POSCAR, KPOINTS, POTCAR |
LSP startup + syntax + file detection |
| Gaussian | .com, .gjf |
LSP startup + syntax + file detection |
| ORCA | .inp |
LSP startup + syntax + file detection |
| Quantum ESPRESSO | .in, .pw.in, .relax.in |
LSP startup + syntax + file detection |
| GAMESS (US) | .inp |
LSP startup + syntax + file detection |
| NWChem | .nw, .nwinp |
LSP startup + syntax + file detection |
| GPUMD | run.in, nep.in |
LSP startup + syntax + file detection |
| GROMACS | .top, .itp, .mdp, .gro |
LSP startup + syntax + file detection |
| LAMMPS | .lmp, .lammps, .lmps |
LSP startup + syntax + file detection |
| MLIP | .mlip.json, .mlip.yaml, .mlip.yml |
LSP startup + syntax + file detection |
| PyATB | .pyatb.py, run_pyatb.py |
LSP startup + syntax + file detection |
| PySCF | .pyscf.py, run_pyscf.py |
LSP startup + syntax + file detection |
- Molpro - High-accuracy quantum chemistry
- Psi4 - Open-source quantum chemistry
- Molcas/OpenMolcas - Multiconfigurational methods
- DALTON - Molecular properties
- Turbomole - Efficient DFT calculations
- Crystal - Periodic systems
- Castep - Materials modeling
Open supported molecule or structure-bearing files and use the viewer entry points to inspect coordinates in 3D:
- Rotate, zoom, and pan to explore your system
- Multiple rendering styles β ball-and-stick, space-filling, wireframe
- Real-time preview β see changes as you edit
- Support for molecules, crystals, and surfaces
Extract and visualize key data from your output files:
- SCF convergence plots
- Energy optimization progress
- Geometry optimization trajectories
- Molecular dynamics evolution
- Syntax highlighting for registered formats
- Diagnostics from the configured standalone LSP when that server provides them
- Parameter validation where the corresponding parser or LSP implements it
- Completion and hover where the corresponding standalone LSP implements them
- Built-in Molecules sidebar to track your systems
- Job tracking panel for monitoring calculations
- Quick access to recent files and projects
Search for "OpenQC" in the VS Code Extensions panel and click Install.
Open any computational chemistry file:
POSCAR # VASP structure
job.com # Gaussian input
calc.inp # ORCA/CP2K input
OpenQC automatically detects the file type and activates the right tools.
Click the π§ͺ icon in the editor toolbar to see your structure in 3D!
Use the π icon to plot your calculation data.
See your molecules come to life with interactive 3D rendering
βββββββββββββββββββββββββββββββββββββββ
β [3D Viewer Panel] β
β β
β β―βββββ―βββββ― β
β β± β² β² β
β β― β―ββββ― β
β β
β Benzene β’ CβHβ β’ 12 atoms β
βββββββββββββββββββββββββββββββββββββββ
Your input files, beautifully formatted
&FORCE_EVAL
SUBSYS
&KIND O
BASIS_SET DZVP-MOLOPT-SR-GTH
POTENTIAL GTH-PBE-q6
&END KIND
&COORD
O 0.000000 0.000000 0.000000
H 0.758602 0.000000 -0.504284
&END COORD
&END SUBSYS
&END FORCE_EVAL
OpenQC works out of the box, but you can customize it:
{
// Auto-open visualization when opening files
"openqc.visualization.autoOpen": true,
// Your preferred rendering engine
"openqc.visualization.moleculeRenderer": "3Dmol.js",
// Auto-refresh sidebar views
"openqc.sidebar.autoRefresh": true
}- Prepare inputs faster with syntax highlighting and validation
- Visualize structures before submitting jobs
- Debug convergence issues with interactive plots
- Inspect computational models shared by collaborators
- Understand output from quantum chemistry calculations
- Prepare structures for computational studies
- Learn quantum chemistry with visual feedback
- Understand input formats with syntax highlighting
- Explore molecular systems interactively
- Build tools on top of OpenQC's parsing capabilities
- Integrate with your computational workflows
- Extend support for additional software
- Format conversion between different quantum chemistry formats
- Batch processing β visualize multiple structures at once
- Export high-resolution images for publications
- Custom color schemes and rendering options
- Real-time calculation monitoring
- Remote workflow documentation using existing VS Code capabilities
- Parameter templates and wizards
- Community examples for common calculation workflows
- AI-powered parameter optimization
- Natural language input generation
- Workflow automation
- Demand-proven ecosystem integrations from the roadmap
- Confirm
package.jsonversion, publisher, display name, icon, and keywords. - Run the TypeScript build and extension packaging command from a clean checkout.
- Run
npm run lsp:check-latestand keep every bundled LSP at the configured remote branch head or an isolated latest worktree. - Smoke test each bundled LSP integration listed in
docs/LSP_COMPATIBILITY.md. - Capture or refresh screenshots for syntax highlighting, diagnostics, 3D visualization, and validation.
- Publish release notes that list supported formats, known parser gaps, VS Code version tested, and LSP versions or commit SHAs.
Use labels to keep the roadmap readable:
lsp-alignment: behavior that must stay consistent with standalone newtontech LSP repositories.parser: file parsing, validation, or format detection.visualization: 3D viewer, rendering, structures, or export.language-support: syntax highlighting, completion, diagnostics.marketplace: packaging, install, icon, metadata, release notes.good-first-issue: small parser fixtures, docs, examples, or screenshots.
Every bug should include a minimal input file or a redacted snippet that reproduces the behavior.
We welcome contributions! See something missing? Let us know:
- Add support for your favorite quantum chemistry software
- Improve parsing for existing formats
- Enhance visualization features
- Fix bugs and improve performance
If OpenQC helps your research, please cite us:
@software{openqc2026,
title = {OpenQC: Universal VS Code Extension for Computational Chemistry},
author = {NewtonTech},
year = {2026},
version = {2.0},
url = {https://github.com/newtontech/OpenQC-VSCode}
}MIT License β see LICENSE for details.
Made with β€οΈ for the computational chemistry community