Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>qe — quant-engine config languageNew to Visual Studio Code? Get it now.
qe — quant-engine config language

qe — quant-engine config language

Jiucheng Zang

|
1 install
| (0) | Free
Syntax highlighting, snippets, and hover documentation for .qe (quant-engine) backtest / sweep / walk_forward / research configs.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

qe-language — VS Code extension for .qe

Syntax highlighting, snippets, and hover documentation for quant-engine .qe configs (backtest / sweep / walk_forward / research).

Install — one command

cd editors/vscode && ./install.sh

This builds a fresh .vsix from the current source tree, packages it, and installs it into VS Code — replacing whatever older version is installed. Re-run it after a git pull and you're back on the newest grammar / snippets / hover data.

./install.sh --force wipes node_modules/ and any cached .vsix first if you want a completely clean rebuild.

Override the VS Code CLI path with CODE_BIN=/path/to/code ./install.sh (e.g. for VS Code Insiders use CODE_BIN=code-insiders).

Install — prebuilt .vsix

If you've already got a packaged qe-language-X.Y.Z.vsix:

code --install-extension editors/vscode/qe-language-0.2.0.vsix --force

VS Code will pick the extension up immediately. Open any *.qe file and you should see:

  • backtest / signal / sma / cross_above highlighted as functions
  • close / open / high / low / volume / bar_index highlighted as per-bar variables
  • let / step / and / or / not highlighted as keywords
  • Numeric literals with _ separators (100_000) recognized
  • Line comments (#) toggleable with Cmd+/
  • Hover over any builtin (e.g. signalize_universe) for the signature and a one-paragraph description

To uninstall:

code --uninstall-extension jiucheng-zang.qe-language

Snippets

Type one of these prefixes and press Tab:

Prefix Expands to
bt / backtest Single-asset backtest skeleton
sw / sweep Sweep with let-bound axes
wf walk_forward(...)
res research(...)
signal signal(entry=..., exit=..., symbol=...)
factor factor(\"name\", expr=...)
axis axis(\"path\", ...)
paired_axis Linked-axis form
weight_axis Portfolio-weight linked axis (sum to 1.0)
signalize_universe Universe rotation skeleton
output / execution / yahoo / file Builder blocks

Build from source

Requires Node ≥ 18 and npm. ./install.sh calls these targets for you; the individual npm scripts are exposed for development:

cd editors/vscode
npm install
npm run build          # tsc -> out/extension.js
npm run package        # vsce package -> qe-language-X.Y.Z.vsix
npm run install-ext    # alias for ./install.sh
npm run uninstall-ext  # code --uninstall-extension jiucheng-zang.qe-language

The packaged .vsix is self-contained (no Node runtime, no network calls). Hover docs are read from data/builtins.json shipped inside the extension.

Scope

v1 ships highlighting + snippets + a static hover provider. There is no language server, no completion, no diagnostics. A real LSP that shells out to a qe_lint binary is a separate follow-up.

The grammar sources its identifier lists from the canonical language reference: see docs/qe-language.md. When new builtins land in the language, update three files in lockstep:

  1. syntaxes/qe.tmLanguage.json — add the name to the config-builtin or signal-builtin regex.
  2. data/builtins.json — add a kind / signature / description entry.
  3. snippets/qe.code-snippets — optional, for common shapes.

Then bump package.json version, rebuild, repackage.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft