Scimax VS Code

Scimax VS Code is a comprehensive scientific computing extension for Visual Studio Code, inspired by the powerful Scimax package for Emacs. It brings literate programming, knowledge management, and scientific writing capabilities to VS Code users.

What is Scimax VS Code?

Scimax VS Code transforms Visual Studio Code into a powerful environment for:

  • Literate Programming - Write documents that combine prose and executable code

  • Scientific Computing - Execute code in 30+ languages with Jupyter integration

  • Knowledge Management - Organize notes, tasks, and references in structured documents

  • Academic Writing - Manage citations, export to LaTeX/PDF, and write papers

The extension provides first-class support for org-mode files (.org), with full structural editing and navigation support for Markdown documents (see Markdown Compatibility).

Key Features

Document Structure

Create hierarchical documents with collapsible headings, properties, and tags. Navigate efficiently with outline views, heading jumps, and fuzzy search.

  • Unlimited heading levels with folding support

  • Tags and inherited tags for organization

  • Properties drawers for metadata

  • Speed commands for rapid navigation

See Document Structure for details.

Task Management

Track tasks with TODO states, priorities, deadlines, and scheduling.

  • Multiple TODO states (TODO, DONE, WAITING, NEXT, HOLD, CANCELLED)

  • Priorities [#A], [#B], [#C]

  • Checkbox lists with progress tracking [2/5]

  • Deadline and scheduled timestamps with warnings

See TODO Items for details.

Tables

Create and edit tables with spreadsheet-like formulas.

  • Easy table creation and navigation

  • Column/row manipulation

  • Formula support (#+TBLFM:)

  • Import/export to CSV

See Tables for details.

Source Code Execution

Execute code blocks in 30+ programming languages directly in your documents.

  • Python, JavaScript, Shell, R, Julia, and more

  • Jupyter kernel integration for rich output

  • Session support for stateful execution

  • Code tangling for extracting source files

  • Variable passing between blocks

See Source Code Blocks for details.

Export

Export documents to multiple formats with customizable options.

  • HTML with syntax highlighting

  • LaTeX with custom preambles

  • PDF via LaTeX compilation

  • Markdown (GitHub-flavored)

See Export for details.

Timestamps and Planning

Manage dates, deadlines, and scheduling with rich timestamp support.

  • Active and inactive timestamps

  • Date/time ranges

  • Repeating tasks (+1d, +1w, +1m)

  • Deadline warnings

See Timestamps for details.

Agenda Views

View and filter tasks across multiple files.

  • Day, week, month views

  • TODO list aggregation

  • Deadline and scheduled item views

  • Tag and priority filtering

See Agenda for details.

Journal System

Maintain a daily journal with calendar navigation.

  • One file per day organization

  • Calendar-based navigation

  • Quick capture and logging

  • Full-text search across entries

See Journal for details.

Citations and Bibliography

Manage academic references with BibTeX integration.

  • Insert citations with multiple styles

  • DOI lookup for metadata

  • OpenAlex academic search

  • PDF management

See References for details.

How This Documentation is Organized

This documentation is organized into several sections:

Core Documentation (01-07)

DocumentDescription
Getting StartedInstallation and first steps
Basic SyntaxMarkup, lists, math, blocks
Document StructureHeadings, folding, navigation
TODO ItemsTask management
TablesTable editing and formulas
LinksHyperlinks and references
TimestampsDates, deadlines, scheduling
Source Code BlocksCode execution

Code Execution (08-09)

DocumentDescription
Supported LanguagesLanguages for code execution
JupyterJupyter kernel integration

Export & Preview (10-12)

DocumentDescription
ExportExporting documents
LaTeX PreviewMath rendering and preview
Image OverlaysInline image display

Organization & Planning (13-17)

DocumentDescription
AgendaAgenda views and planning
JournalDaily journaling system
CaptureQuick note capture
NotebookProject-based organization
ProjectileProject management

Search & Knowledge (18-19)

DocumentDescription
Database and SearchFull-text and semantic search
ReferencesCitations and bibliography

Editing & Navigation (20-23)

DocumentDescription
EditmarksTrack changes system
NavigationFuzzy search and jump
Hydra MenusKeyboard-driven menus
Speed CommandsSingle-key heading commands

Reference Documentation (24-30)

DocumentDescription
KeybindingsComplete keybinding reference
CommandsAll commands with descriptions
ConfigurationAll settings and options
Org APIProgrammatic file modification
Non-Standard Featuresorg-ref, Emacs command markup
Unsupported FeaturesEmacs features not in VS Code
Command Line InterfaceCLI for batch ops and scripts

Specialized File Support (31-35)

DocumentDescription
PublishingProject publishing system
ExcalidrawDiagram editing integration
LaTeX NavigationLaTeX file editing and commands
BibTeX EditingBibTeX file editing and commands
Document TemplatesTemplate system for documents
Manuscript FlatteningPrepare LaTeX for submission
Link GraphVisualize file connections

Quick Start

  1. Install the extension from the VS Code marketplace or from a VSIX file

  2. Open or create an org file with the .org extension

  3. Create a heading by typing * My First Heading

  4. Add a source block and execute it:

  5. Explore the menus with C-c m (main menu) or C-c C-m (context menu)

See Getting Started for a complete introduction.

Getting Help

Within VS Code

  • Press `C-c m' to open the main Hydra menu

  • Press `C-c C-m' for context-sensitive menus

  • Use `C-S-P' and search for "Scimax" commands

  • Hover over elements for tooltips and information

Online Resources

  • GitHub Issues: Report bugs and request features

  • Documentation: This documentation set

Keybinding Help

Press `? ' at the beginning of a heading (with speed commands enabled) to see available speed commands.

See Keybindings for the complete reference.

Acknowledgments

Scimax VS Code is inspired by:

  • Scimax - The original Emacs package by John Kitchin

  • Org-mode - The powerful Emacs major mode for notes and planning

  • Org Babel - Literate programming in Org-mode

License

Scimax VS Code is open source software. See the LICENSE file for details.

Complete Documentation Index

This section provides a comprehensive index of all documentation topics with links for quick navigation.

Navigation Guides

DocumentTopics Covered
Getting StartedInstallation, first steps, basic usage
Basic SyntaxText markup, lists, equations, blocks
NavigationFuzzy search, avy-style jump, outline navigation
Hydra MenusKeyboard-driven menus, customization
KeybindingsComplete keybinding reference
Speed CommandsSingle-key commands at heading start
CommandsAll available commands

Document Editing

DocumentTopics Covered
Document StructureHeadings, folding, properties, drawers
Markdown CompatibilityMarkdown structural editing, navigation
TODO ItemsTasks, priorities, checkboxes, states
TimestampsDates, deadlines, scheduling, repeaters
TablesTable creation, editing, formulas
LinksHyperlinks, internal links, citations
EditmarksTrack changes, revision marks

Code Execution

DocumentTopics Covered
Source Code BlocksBabel execution, header arguments
Supported LanguagesPython, R, Julia, Shell, and more
Jupyter IntegrationKernel management, rich output
Org APIProgrammatic file modification in TypeScript

Export and Preview

DocumentTopics Covered
ExportHTML, LaTeX, PDF, Markdown export
LaTeX PreviewMath rendering, equation preview
Image OverlaysInline image display
ExcalidrawDiagram creation and editing

Organization and Planning

DocumentTopics Covered
AgendaAgenda views, task filtering
JournalDaily journaling, calendar navigation
CaptureQuick note capture, templates
NotebookProject-based organization
ProjectileProject management, switching

Search and Database

DocumentTopics Covered
Database and SearchFull-text search, semantic search, embeddings
ReferencesCitations, bibliography, DOI lookup

Specialized File Editing

DocumentTopics Covered
LaTeX NavigationLaTeX speed commands, structure navigation
BibTeX EditingBibTeX speed commands, entry/file operations, sorting

Configuration

DocumentTopics Covered
ConfigurationAll settings, customization options

Topic Index

Quick reference to find specific features across documentation.

TopicPrimary DocumentationRelated Documentation
Agenda viewsAgendaTODO Items, Timestamps
Avy-style navigationNavigationKeybindings
Babel executionSource Code BlocksSupported Languages, Jupyter
Basic syntaxBasic SyntaxDocument Structure, Export
BibliographyReferencesLinks, Export, BibTeX Editing
BibTeX editingBibTeX EditingReferences, Speed Commands
BibTeX speed commandsBibTeX EditingSpeed Commands, LaTeX Navigation
Block elementsBasic SyntaxSource Code Blocks, Export
Bold textBasic SyntaxExport
Capture templatesCaptureJournal, Configuration
CheckboxesTODO ItemsDocument Structure
CitationsReferencesLinks, Export, Non-Standard Features
CSL citation stylesExportReferences - APA, MLA, Chicago, Harvard, IEEE, Vancouver
Code blocksSource Code BlocksSupported Languages, Tables
Custom exportersExportCommands - User-defined JS/TS export backends
Command markupNon-Standard FeaturesKeybindings, Export
ConfigurationConfigurationFeature-specific docs
DeadlinesTimestampsAgenda, TODO Items
Definition listsBasic SyntaxDocument Structure
Diary sexpTimestampsAgenda
DOI lookupReferencesConfiguration
Dynamic blocksDocument StructureTimestamps, Tables
EmbeddingsDatabase and SearchConfiguration
EquationsBasic SyntaxLaTeX Preview, Export
ExcalidrawExcalidrawLinks, Image Overlays
Export to HTMLExportLaTeX Preview
Export to PDFExportLaTeX Preview
FoldingDocument StructureNavigation
FootnotesDocument StructureLinks, Export
FormulasTablesLaTeX Preview
Full-text searchDatabase and SearchNavigation
Fuzzy searchNavigationDatabase and Search
Heading navigationNavigationDocument Structure, Speed Commands
HeadingsDocument StructureNavigation, TODO Items
Hydra menusHydra MenusKeybindings, Configuration
Image displayImage OverlaysSource Code Blocks
Include filesExportModular documents with #+INCLUDE:
Italic textBasic SyntaxExport
Inline tasksDocument StructureTODO Items
Journal entriesJournalCapture, Agenda
Jupyter kernelsJupyter IntegrationSource Code Blocks, Supported Languages
KeybindingsKeybindingsSpeed Commands, Hydra Menus
LaTeX mathLaTeX PreviewExport
LinksLinksReferences, Navigation
LimitationsUnsupported FeaturesEmacs features not available in VS Code
Link graphLink GraphLinks, Database and Search
Lists (ordered)Basic SyntaxDocument Structure
Lists (unordered)Basic SyntaxDocument Structure
Markdown supportMarkdown CompatibilityDocument Structure, Speed Commands, Source Blocks
Mark ringKeybindingsEmacs-style mark and region commands
Markup (text)Basic SyntaxExport, bold, italic, underline, code
Math previewLaTeX PreviewExport
Non-standard featuresNon-Standard FeaturesReferences, Export
NotebooksNotebookProjectile, Journal
Org file modificationOrg APISource Code Blocks, Tables
Org-mode syntaxBasic SyntaxDocument Structure, Source Code Blocks, Tables
org-ref citationsNon-Standard FeaturesReferences, Links
PDF exportExportLaTeX Preview
PrioritiesTODO ItemsAgenda
ProjectileProjectileNotebook
PropertiesDocument StructureTODO Items
Quick captureCaptureJournal, TODO Items
SchedulingTimestampsAgenda, TODO Items
Semantic searchDatabase and SearchConfiguration
Session executionSource Code BlocksJupyter Integration
Spelling navigationKeybindingsCommands - Navigate between spelling errors
Speed commandsSpeed CommandsKeybindings, Navigation
TablesTablesExport
TagsDocument StructureAgenda, TODO Items
TemplatesDocument TemplatesCapture, Journal, Configuration
TODO statesTODO ItemsAgenda, Configuration
TODO custom keywordsTODO ItemsPer-file #+TODO: definitions
Track changesEditmarksDocument Structure
Unsupported featuresUnsupported FeaturesEmacs features not in VS Code
Vector searchDatabase and SearchConfiguration

Quick Start by Use Case

I want to...

Take notes and organize information

Manage tasks and projects

Write scientific documents

Keep a journal

Navigate efficiently

✅ Programmatically modify org files

  • Use the Org API in TypeScript source blocks

  • Bulk update TODO states, properties, and tags

  • Extract and transform table data

  • Automate repetitive org file operations

✅ Configure the extension

Navigation