Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>CitetNew to Visual Studio Code? Get it now.
Citet

Citet

Backmatter

|
2 installs
| (0) | Free
Local LaTeX editing, texe builds, PDF viewing and optional Citet collaboration.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Citet VS Code Extension

One native VS Code extension for local LaTeX papers, texe builds, tex-ls language features, PDF.js viewing, SyncTeX and optional Citet collaboration.

Getting started

Open a folder with a LaTeX paper and run Citet: Build and View. To open an online project, run Citet: Sign In, then Citet: Open Project Locally. New connections use citet.eu. Set citet.serverUrl for your university's self-hosted server or a local development server.

VS Code 1.91 or later is required. Hosted builds are available for connected projects on Windows and macOS. Protected local compilation currently requires Linux x64 with Landlock V3. Install Citet Presenter to use Present.

For help, use the Citet contact page.

The Project view puts Build and view, Open PDF and Present above paper configuration and project tools. It shows the selected local or server build backend. Account and live sync status share the same panel, with a single sign-in or retry action. The panel follows the VS Code theme and uses the Citet wordmark. Citations and collaboration have separate, initially collapsed views for connected projects.

The extension validates the account on startup, when the editor regains focus and every minute. Expired or revoked credentials show a persistent Sign in again action and one notification per sign-in. Connection failures retain the saved credential and offer a retry. Signing in reconnects open documents and refreshes project data.

This app intentionally does not use the Neovim Bun host pattern or a separate editor service. VS Code runs the extension in its own extension host. Shared protocol code stays in @citet/editor-core; VS Code-specific behavior stays in apps/vscode/src.

Local editing and builds work without an account or a Citet server. Open a paper folder and run Citet: Build and View. Existing texe.toml projects are used directly; unconfigured papers can be adopted through Configure Local Paper. Missing native tools are downloaded from official checksum-verified releases into extension storage. Set citet.texePath / citet.texLsPath to use installed tools, or disable downloads with citet.allowDownloads.

Citet and the standalone backmatter.tex-ls extension are independent and can be installed and enabled together. Each owns its language-server client, settings and commands. Citet uses citet.* settings and commands, including citet.server.* for commands advertised by its server. It does not require, disable or configure the standalone extension. Both clients can provide LaTeX and BibTeX language features when enabled; choose the formatter through VS Code's Format Document With... command.

Protected local compilation is currently available on Linux x64 with Landlock V3. macOS, Windows and remote extension hosts remain release validation gates; unsupported local compilation stops before running the paper. Hosted builds remain available through the online backend.

Connected papers prepare their offline environment automatically while online. They keep the selected engine and download the packages, fonts and runtime they need. Adding a missing dependency refreshes the environment and retries the build automatically; offline failures preserve the saved source and last successful PDF. Show Environment Details exposes preparation logs when needed. Standalone adoption supports managed pdfLaTeX, XeLaTeX and LuaLaTeX; prepared Citet environments also support Shipout and Tectonic. Shipout currently supports BibTeX and rejects Biber papers with guidance to choose another engine.

On Linux x64, automatic builds use local texe for both standalone and connected folders. Other connected hosts use the server because protected local compilation is not available there yet. Authentication is required for collaboration and preparing a hosted environment, but an already prepared local build does not require a Citet session. Unpinned connected folders with an existing matching texe.toml can use their local configuration directly. Offline builds need the tools and dependencies cached; new packages can still require a download. Use Choose Build Backend to select the Citet server explicitly. Cancel Build stops your local or online build and keeps the last successful PDF available. Build-on-save, native tasks, progress, Problems and failure recovery share a per-project queue. Existing PDFs open in the Citet custom editor. Ctrl/Cmd+click or double-click navigates back to source.

Language diagnostics cover files inside the open workspace folders, including project-local packages and classes, and untitled documents. Loaded dependencies outside the workspace (such as TeX distribution packages) do not add warnings to Problems. In a window without a folder, open standalone documents receive diagnostics. Compiler errors continue to come from texe.

Routine synchronization, reconnects and local recovery copies run automatically. New project files up to 10 MiB are included in online builds without an import prompt. A larger file stays on disk and blocks an online build until it is reduced or explicitly excluded. Nested connected papers synchronize independently.

Present opens the selected local or hosted build in Citet Presenter. Hosted Shipout builds include native slides and notes; PDF builds open as PDF decks. Install Citet Presenter and register its desktop URL handler first.

Local copies are retained before mirror replacements and deletions. Interrupted replacements are restored before synchronization resumes. Open Local Recovery Copies, Manage Pending Project Files, and the workspace mirror log are advanced commands; routine editing does not require using them.

Current scope:

  • browser-based editor auth through the VS Code extension host
  • session storage in VS Code secret storage
  • native document attach/realtime sync against EditorRealtimeSession
  • native Explorer view for Citet-bound projects
  • project clone, refresh, and file open commands
  • local/remote build commands and a native PDF.js custom editor with forward/inverse SyncTeX
  • native tex-ls client, syntax highlighting, formatting, symbols and code actions
  • citation insertion through Quick Pick and autocomplete inside \cite{...}
  • simple active-file status surface in the VS Code status bar
  • project-local binding metadata in .citet/config.json
  • project-local offline Yjs cache in .citet/cache/yjs/

Development

From the repo root:

bun run --cwd apps/vscode build
bun run --cwd apps/vscode package
bun run --cwd apps/vscode export:texe

To debug, open the repository root in VS Code and run Run Citet VS Code Extension from the Run and Debug view. The launch configuration builds the extension first and starts an Extension Development Host with source maps enabled.

You can also open apps/vscode directly in VS Code and use the same launch configuration from that folder.

Commands

  • Citet: Sign In
  • Citet: Sign Out
  • Citet: Status
  • Citet: Projects
  • Citet: Open Project Locally
  • Citet: Refresh Project
  • Citet: Refresh Citet Sidebar
  • Citet: Open Project File
  • Citet: Build Paper
  • Citet: Build and View
  • Citet: Cancel Build
  • Citet: Configure Local Paper
  • Citet: Choose Build Backend
  • Citet: Connect Folder to Citet
  • Citet: Present
  • Citet: Open Online Deck in Desktop Presenter
  • Citet: Open PDF
  • Citet: Sync PDF to Cursor
  • Citet: Insert Citation

Citet: Cancel Build stops your local or online build and keeps the last PDF. Online builds are tracked separately for each researcher, so cancelling your build does not stop a collaborator's build.

Citet: Present opens the selected local or hosted build in Citet Presenter. When a PDF preview is active, it uses that preview's project. Other commands use the selected source file or current project. Citet: Open Online Deck in Desktop Presenter opens a bound project's latest successful online deck in the dedicated Citet Presenter app, with slides and notes on separate displays. Install the app from your server's /presenter page first. It works with hosted and self-hosted servers and keeps browser/editor credentials out of the launch URL.

The Present command also accepts a PDF, Shipout JSON or .citetdeck file from the Explorer context menu and opens it in Citet Presenter for offline use.

The VSIX is self-contained and installs no dependent extensions. texe embeds an exported copy; its release process does not compile or import a sibling checkout. Language grammar assets are vendored from the MIT-licensed tex-ls VS Code client at commit 372c5488b006079797869ee053ef98a15ee1a55f, with its license in media/tex-ls-LICENSE. The standalone SyncTeX reader's provenance is recorded in src/vendor/README.md. Bundled dependencies retain their license notices.

The repository's apps/vscode/RELEASING.md documents Marketplace account setup and automatic releases from main after validation.

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