VS-ORCA (Virtual Studio for ORCA Chemistry)
A comprehensive Visual Studio Code extension that transforms VS Code into a unified development environment for ORCA computational chemistry calculations. Streamline your workflow with intelligent input editing, one-click execution, automated output parsing, and interactive results visualization.


🎯 Problem Solved
Computational chemists using ORCA face a fragmented workflow:
- Input Creation: Text files prone to syntax errors (keyword typos, wrong multiplicity)
- Execution: Constant context switching to terminal for manual command execution
- Analysis: Massive output files (10k+ lines) requiring manual grep/scrolling to find energies
VS-ORCA unifies this workflow by bringing intelligent editing, execution, and automated parsing into VS Code.

✨ Features
| Feature |
Description |
| Syntax Highlighting |
Color-coded ORCA keywords (!), blocks (%), coordinates, and comments |
| Smart Snippets |
Type opt → full optimization block, freq → frequency template |
| Auto-completion |
Common functionals (B3LYP, wB97X-D3), basis sets (def2-TZVP), job types |
Example:
! B3LYP def2-TZVP Opt TightSCF # Auto-highlighted
%pal nprocs 8 end # Block syntax
* xyz 0 1 # Coordinates highlighted
C 0.0 0.0 0.0
*

🚀 Execution Engine
| Feature |
Description |
| One-Click Run |
Press F5 or click "Run ORCA" to execute the current .inp file |
| Path Configuration |
Settings UI to define ORCA binary location |
| Live Output |
Real-time streaming of calculation output to VS Code panel |
| Process Control |
Kill/terminate running jobs from GUI |
| CodeLens Actions |
Click "Run ORCA" directly in the editor above your input file |
Workflow:
- Open any
.inp file
- Press
F5 (or click the ▶️ icon in the editor toolbar)
- Output streams live to the ORCA output panel
- Status bar shows real-time progress

📊 Output File Management & Analysis
| Feature |
Description |
| Auto-Save Outputs |
Every ORCA job automatically creates a .out file |
| Syntax Highlighting |
Color-coded output sections (headers, energies, warnings, errors) |
| Structured Navigation |
Outline view and Go to Symbol for quick section jumping |
| Results Dashboard |
Interactive webview with parsed results and visual tables |
| TOC Navigation |
Interactive Table of Contents sidebar for quick section jumping |
| Enhanced Parsing |
Extract SCF iterations, geometry steps, frequencies, diagnostics |
| Live Updates |
Dashboard auto-refreshes when output file changes |
| Export Capability |
Copy parsed results as JSON to clipboard |
| Convergence Detection |
Auto-detect "HURRAY" or "SCF NOT CONVERGED" with notifications |
| Energy Extraction |
Display final energy in status bar instantly |
| Optimization Tracking |
Step-by-step geometry optimization progress |
| Frequency Analysis |
Detect and highlight imaginary frequencies |
| CodeLens Dashboard |
One-click "Open Dashboard" action at top of .out files |

Other Capabilities:
- Automatic Output Persistence: All calculation output saved to
.out files
- Syntax Highlighted Output: Open
.out files with color-coded sections
- Interactive Dashboard: Visual results with tables, metrics, and diagnostics
- TOC Sidebar: Collapsible Table of Contents with one-click navigation to sections
- Quick Navigation: Use Outline view or Ctrl+Shift+O to jump to sections
- CodeLens Actions: Click "Open Dashboard" at the top of any
.out file for instant access
- Smart Diagnostics: Warnings and errors collected with line numbers
- Scroll Preservation: Dashboard context maintained during TOC navigation
🛠️ Installation
Prerequisites
- Visual Studio Code 1.85.0 or higher
- ORCA (computational chemistry software)
Quick Start
Install the Extension (Recommended via VS Code Marketplace):
Install ORCA:
Option 1: Use the built-in Installation Wizard
- Open Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Run: "ORCA: Setup ORCA Installation Wizard"
- Follow guided steps
Option 2: Automatic Detection
- Run: "ORCA: Detect ORCA Installations"
- Select from detected installations
Option 3: Manual Configuration
- Open Settings and set
orca.binaryPath
- Example:
/opt/orca/orca (Linux/macOS) or C:\orca\orca.exe (Windows)
Verify Installation:
- Run: "ORCA: Validate ORCA Installation"
📖 Detailed installation instructions: See INSTALLATION.md
Install from Source
Clone the repository:
git clone https://github.com/ductrung-nguyen/Orca-vscode.git
cd Orca-vscode
Install dependencies:
npm install
Compile the extension:
npm run compile
Open in VS Code and press F5 to launch the extension in a new window.
Install from VSIX (Coming Soon)
You can download the VSIX file from the Release page of this repository, then run the following command:
code --install-extension vs-orca-0.1.0.vsix
⚙️ Configuration
Open Settings (Ctrl/Cmd + ,) and search for "ORCA":
| Setting |
Description |
Default |
orca.binaryPath |
Full path to ORCA executable |
/opt/orca/orca |
orca.mpiProcs |
Default number of cores for parallel runs |
4 |
orca.autoSaveBeforeRun |
Save file before executing |
true |
orca.clearOutputBeforeRun |
Clear output panel before new job |
true |
orca.maxOutputSize |
Max output size (MB) for live streaming |
50 |
Example settings.json:
{
"orca.binaryPath": "/usr/local/orca/orca",
"orca.mpiProcs": 8
}
🚀 Usage
Basic Workflow
Create a new file with .inp extension (e.g., water.inp)
Type a snippet: opt + Tab to expand to optimization template
Edit your input:
! B3LYP def2-TZVP Opt TightSCF
* xyz 0 1
O 0.0 0.0 0.0
H 0.0 0.0 1.0
H 0.0 1.0 0.0
*
Press F5 to run the calculation
View output in the ORCA panel (auto-opens)
Check status bar for final energy and convergence status
Available Snippets
| Prefix |
Description |
sp |
Single point energy calculation |
opt |
Geometry optimization |
freq |
Frequency calculation |
optfreq |
Combined opt + freq |
ts |
Transition state optimization |
cpcm |
Solvation (CPCM/SMD) |
pal |
Parallel configuration block |
scf |
SCF convergence parameters |
geom |
Geometry optimization settings |
tddft |
TD-DFT excited states |
Tip: Type the prefix and press Tab to expand.
🎨 Syntax Highlighting
The extension recognizes:
- Keywords (starting with
!): B3LYP, def2-TZVP, Opt, etc.
- Blocks (starting with
%): %pal, %scf, %geom, etc.
- Coordinates: Element symbols and numeric values
- Comments: Lines starting with
#
Color Scheme Example:
- 🟢 Functionals:
B3LYP, wB97X-D3
- 🔵 Basis sets:
def2-TZVP, cc-pVTZ
- 🟡 Job types:
Opt, Freq, OptTS
- 🟣 Blocks:
%pal, %scf
📋 Commands
All commands are available via Command Palette (Ctrl/Cmd + Shift + P):
Execution Commands
| Command |
Keybinding |
Description |
| Run ORCA Job |
F5 |
Execute the current .inp file |
| Kill Running ORCA Job |
- |
Terminate the active calculation |
Installation & Configuration Commands
| Command |
Description |
| Setup ORCA Installation Wizard |
Guided installation wizard for ORCA |
| Detect ORCA Installations |
Automatically find ORCA on your system |
| Validate ORCA Installation |
Run comprehensive validation tests |
| Check ORCA Health |
Quick health check of configured ORCA |
Access via:
- Command Palette (
Ctrl/Cmd + Shift + P) → "ORCA: ..."
- Open input file, and click "▶️ Run ORCA" at the top of the file
- Editor toolbar icon (▶️) for Run
- Status bar (click to detect installations)
🔍 Output Parsing
After job completion, VS-ORCA automatically extracts:
- ✅ Convergence status ("HURRAY" or "SCF NOT CONVERGED")
- 📊 Final energy (displayed in status bar)
- ✨ Geometry optimization convergence
- 🎵 Frequency calculation results
- ⚠️ Imaginary frequencies (for transition states)
Example Output:
═══════════════════════════════════════════════════════
✅ ORCA job completed successfully
🎉 Calculation converged successfully!
📊 Final Energy: -76.42371840 Hartree
✨ Geometry optimization converged!
🎵 Frequency calculation completed
═══════════════════════════════════════════════════════
🗺️ Roadmap
✅ Phase 1: MVP (v0.1.0)
- Syntax highlighting
- Code snippets
- Local execution
- Output streaming
- Basic parsing
✅ Phase 2: Installation Capability (v0.2.0)
- Interactive installation wizard
- Automatic ORCA detection
- Validation and health checks
- OS-specific installation strategies
- Multi-version support
✅ Phase 3: Output File Management (Current - v0.3.0)
- Automatic output file persistence
- Syntax highlighting for output files
- Structured navigation (Outline, Go to Symbol)
- Interactive results dashboard
- Enhanced parsing (SCF, geometry, frequencies)
- JSON export capability
🔄 Phase 4: Real-time Visualization (v0.4.0)
- Live streaming visualization during execution
- Energy vs. cycle plots
- Convergence graphs
- Molecular orbital viewer integration
🚀 Phase 5: Remote Execution (v0.5.0)
- SSH integration for cluster submission
- SLURM/PBS job management
- Queue monitoring
- Auto-download results
🐛 Known Issues
- Large output files (>50 MB) may slow down real-time streaming
- Windows paths with spaces require proper escaping in
orca.binaryPath
- Syntax highlighting doesn't cover all obscure ORCA keywords (contributions welcome!)
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- ORCA by Frank Neese and colleagues at the Max Planck Institute
- Inspired by the computational chemistry community's need for better tooling
- Built with TypeScript and the VS Code Extension API
📞 Support
💖 Support the Project
If you find this extension helpful, consider buying me a beer! Your support helps maintain and improve VS-ORCA.

Happy Computing! 🧪⚛️