Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>OpenQC - DFT/MD/Quantum Chemistry SuiteNew to Visual Studio Code? Get it now.
OpenQC - DFT/MD/Quantum Chemistry Suite

OpenQC - DFT/MD/Quantum Chemistry Suite

newtontech

| (0) | Free
Parse, visualize, and analyze computational chemistry, materials, and molecular-simulation files with 17 bundled LSP integrations.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OpenQC

VS Code integration for computational chemistry LSPs

Syntax, file detection, visualization entry points, and LSP startup for 17 computational chemistry and molecular-simulation formats

VSIX License

Features • Quick Start • Gallery • Roadmap


🧪 Why OpenQC?

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.


🎯 Supported Software

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 17 bundled LSP integrations for computational chemistry, materials, and molecular-simulation workflows:

Latest LSP Status

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. Remote HEAD probing tries HTTPS first and falls back to SSH for GitHub transport failures; a remote-unavailable result means the remote could not be reached and must not be counted as freshness success. During local development, OpenQC treats package default LSP settings as unset so sibling checkouts in ../ or .worktrees-lsp-latest/ can be launched directly; explicit user or workspace openqc.lsp.<id>.* settings still take precedence. 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.

LSP Alignment Matrix

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
DP-GEN newtontech/dpgen-lsp Language contribution, syntax, file detection, LSP startup

Supported Integrations

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
DP-GEN param.json, machine.json LSP startup + syntax + file detection

🚧 Coming Soon

  • 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

✨ What Can You Do?

🔬 Visualize Molecules in 3D

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, line
  • Atom labels and measurements for distance, angle, and dihedral inspection
  • Unit-cell and supercell previews for periodic structures, preserving atom metadata, selected-atom VASP selective-dynamics flags, and edited bonds in the preview structure
  • Snapshot export from the bundled 3Dmol.js viewer
  • Bounded structure editing with atom selection, add/delete/move atom controls, selected-atom VASP selective-dynamics free-axis flags, bond add/update/delete with order 1-3, undo/redo, dirty state, edited-structure export, and limited source-file writeback for XYZ, extended XYZ, PDB, CIF, POSCAR, and CONTCAR
  • Coordinate/cell rendering for molecules, periodic crystals, and surface or slab structures represented as atomistic structure files
  • OpenQC: Preview Input File opens the same canonical DTO viewer for POSCAR/CONTCAR structure files, while calculation-input summaries remain available for text-first inputs such as Gaussian and CP2K
  • Webview pages use crypto-backed CSP nonces for local script/style execution

OpenQC's viewer is a lightweight VS Code structure inspector. It is not a full Avogadro, VESTA, OVITO, or VMD replacement: advanced constraints, trajectory-file import and analysis, field/isovalue workflows, chemistry-aware editor behavior, and source writeback beyond the native structure formats remain roadmap work. Basic selected-atom VASP selective-dynamics flags can be edited and are preserved by POSCAR/CONTCAR writeback; other native formats do not preserve those simulation constraints. The bundled trajectory controls operate when a loaded structure already provides frame data. PDB writeback records bond existence through CONECT; XYZ, extended XYZ, POSCAR, and CIF exports do not preserve edited bond topology or bond order and warn before users rely on those files for connectivity.

📊 Analyze Your Calculations

Extract and visualize calculation data where the parser or Python backend supports the file:

  • SCF or optimization energy plots from parsed output series
  • Optimization trajectory extraction to the bundled viewer when cclib exposes coordinate frames
  • Structured unsupported-output warnings when neither cclib nor native fallback can extract calculation data
  • OpenQC: Read Calculator Results auto-detects common Gaussian, ORCA, CP2K, Quantum ESPRESSO, and GAMESS output files in a selected directory and routes them through the shared output parser before falling back to the ASE calculator result reader
  • Basic energy extraction from active text for quick plots, including VASP OSZICAR electronic/ionic energies and OUTCAR TOTEN convergence
  • Native no-cclib output fallback extracts final-energy series from Gaussian SCF Done, ORCA FINAL SINGLE POINT ENERGY, CP2K ENERGY|/Total energy, Quantum ESPRESSO total energy in Ry converted to eV, and GAMESS TOTAL ENERGY
  • Python backend diagnostics with installed/missing/degraded capability reporting; native structure parsing covers XYZ, POSCAR/CONTCAR, Gaussian, ORCA, CP2K &COORD, and GAMESS $DATA coordinate inputs even when optional ASE/pymatgen parsers are absent
  • Legacy Python format conversion content-sniffs ambiguous .inp sources for CP2K/GAMESS before ORCA fallback, and ORCA/.inp targets emit a minimal ORCA input deck instead of POSCAR fallback output when dpdata provides structure coordinates
  • External analyzer availability checks plus preview-confirmed Multiwfn, c2x, and Open Babel execution when explicitly enabled; configured executable paths must be runnable, PATH discovery uses the native platform lookup command, expected output files are validated under the command working directory, Multiwfn cube workflows default to .cube outputs, and these command-line tools must be installed and configured locally because they are not bundled

🧮 Generate And Run Calculator Inputs

  • Generate VASP, CP2K, and Quantum ESPRESSO input files from structure files through the ASE backend
  • Customize calculator parameters as JSON before generation or execution
  • Run existing calculator input directories after explicit backend and executable availability checks
  • Read calculation outputs back into OpenQC result summaries where parser support exists, with output-file auto-detection for common non-VASP logs and ASE fallback for calculator directories

📝 Write Better Input Files

  • 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

🗂️ Organize Your Work

  • Built-in Molecules sidebar to track your systems
  • Local Jobs sidebar for running existing VASP, CP2K, or Quantum ESPRESSO input directories through the configured calculator command, storing captured result summaries, and exporting those results; real-time remote scheduler monitoring is not included in this release
  • Quick access to recent files and projects

🚀 Quick Start

1. Install OpenQC

Install the verified local VSIX from this repository:

code --install-extension openqc-3.0.15.vsix --force

After Marketplace publication, you can also search for "OpenQC" in the VS Code Extensions panel and click Install.

2. Open Your File

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.

3. Visualize

Click the 🧪 icon in the editor toolbar to see your structure in 3D!

4. Analyze or Export

Use the 📊 icon to plot available calculation data, or run OpenQC: Export Structure to write viewer structures to native XYZ, extended XYZ, PDB, POSCAR, or CIF files. More complex input formats require the ASE backend.


🎨 Gallery

Molecular Visualization

See your molecules come to life with interactive 3D rendering

┌─────────────────────────────────────┐
│         [3D Viewer Panel]           │
│                                     │
│      ◯────◯────◯                   │
│     ╱      ╲     ╲                  │
│    ◯        ◯───◯                  │
│                                     │
│   Benzene • C₆H₆ • 12 atoms         │
└─────────────────────────────────────┘

Syntax Highlighting

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

🔧 Configuration

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
}

💡 Use Cases

For Computational Chemists

  • Prepare inputs faster with syntax highlighting and validation
  • Visualize structures before submitting jobs
  • Debug convergence issues with interactive plots

For Experimentalists

  • Inspect computational models shared by collaborators
  • Understand output from quantum chemistry calculations
  • Prepare structures for computational studies

For Students & Educators

  • Learn quantum chemistry with visual feedback
  • Understand input formats with syntax highlighting
  • Explore molecular systems interactively

For Software Developers

  • Build tools on top of OpenQC's parsing capabilities
  • Integrate with your computational workflows
  • Extend support for additional software

🌟 What's Coming?

Near Term (post-3.0)

  • [ ] Broader ASE-backed format conversion between quantum chemistry formats
  • [ ] Batch processing — visualize multiple structures at once
  • [x] Snapshot export from the bundled 3D viewer
  • [x] Native structure export for XYZ, extended XYZ, PDB, POSCAR, and CIF
  • [x] Bounded viewer editing v1: select atoms, move/add/remove atoms, add/update/delete bonds with order 1-3, undo/redo, dirty state, edited-structure export, and limited source-file writeback for native structure formats; only PDB carries basic edited connectivity through CONECT
  • [ ] Custom color schemes and rendering options

Medium Term

  • [ ] Real-time calculation monitoring
  • [ ] Remote workflow documentation using existing VS Code capabilities
  • [ ] Parameter templates and wizards
  • [ ] Community examples for common calculation workflows

Long Term

  • [ ] Full molecular editor parity: advanced constraints beyond VASP selective dynamics, source writeback for calculation-input formats, chemistry-aware editing, and richer trajectory/field workflows
  • [ ] External or model-backed AI parameter optimization beyond the current local rule/template command surface
  • [ ] External or model-backed natural language input generation beyond the current local rule/template command surface
  • [ ] Workflow automation
  • [ ] Demand-proven ecosystem integrations from the roadmap

Marketplace Release Checklist

  • Confirm package.json version, publisher, display name, icon, and keywords.
  • Run the TypeScript build and extension packaging command from a clean checkout.
  • Run npm run lsp:check-latest and keep every bundled LSP at the configured remote branch head or an isolated latest worktree.
  • Run npm run test:e2e, npm run test:visual, npm run test:visual:vsix, npm run test:python-backend, and npm run test:python-backend:require-core before publishing to prove the Extension Host, bundled viewer, packaged VSIX webview payload, and Python bridge still work.
  • npm run test:visual uses the production webview HTML generator from the source tree, while npm run test:visual:vsix extracts the packaged VSIX and runs the same desktop/narrow screenshot smoke against the extension payload. Both require a Playwright CLI plus Chrome on the local PATH; no Playwright package is vendored by default.
  • In a Python environment with numpy, ase, pymatgen, cclib, and dpdata, run npm run test:python-backend:require-core to prove the full optional scientific backend path, including VASP fake run/read plus CP2K and Quantum ESPRESSO input-generation smoke coverage.
  • External analyzer tests include fake-executable smoke coverage for the real child process path, stdin forwarding, relative output validation under the command working directory, and configured-path executable checks; real Multiwfn/c2x/Open Babel scientific execution still requires those tools to be installed locally.
  • 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.

Issue Triage Policy

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.


🤝 Contributing

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

Contributing Guidelines →


📚 Resources

  • Documentation
  • API Reference
  • Report Issues
  • Feature Requests

📄 Citation

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}
}

📜 License

MIT License — see LICENSE for details.


Made with ❤️ for the computational chemistry community

⭐ Star us on GitHub • 💬 Join the discussion

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft