MCPcopy
hub / github.com/James-Yu/LaTeX-Workshop

github.com/James-Yu/LaTeX-Workshop @v10.16.1 sqlite

repository ↗ · DeepWiki ↗ · release v10.16.1 ↗
3,641 symbols 12,335 edges 198 files 250 documented · 7%
README

Visual Studio Code LaTeX Workshop Extension

LaTeX Workshop is an extension for Visual Studio Code, aiming to provide core features for LaTeX typesetting with Visual Studio Code.

This project won't be successful without contributions from the community, especially from the current and past key contributors:

Thank you so much!

Note that the latest version of LaTeX-Workshop requires at least VSCode 1.114.0 (April 2026 or later).

Manual

The manual of the extension is maintained as a wiki

Table of Contents

Features (Taster)

This is not a complete list but rather a preview of some of the coolest features.

  • Build LaTeX (including BibTeX) to PDF automatically on save.

build process gif

  • View PDF on-the-fly (in VS Code or browser).

demo of preview feature

  • Direct and reverse SyncTeX. Click to jump between location in .tex source and PDF and vice versa.

demo of SyncTeX

  • Intellisense, including completions for bibliography keys (\cite{}) and labels (\ref{}).

intellisense demo

  • LaTeX log parser, with errors and warnings in LaTeX build automatically reported in VS Code.

error reporting demo

  • Linting

auto \item demo

  • Snippets
  • A lot of LaTeX commands can be typed using snippets starting in \, then type part of the command to narrow the search.

    auto \item demo

  • Surround some selected text with a LaTeX command using ctrl+l, ctrl+w (+l, +w on Mac). A new menu pops up to select the command. This works with multi selections. The former approach using \ has been deprecated.

    wrap demo

  • We also provide a few other suggestion mechanisms

    • Greek letters are obtained as @ + letter. Some letters have variants, which are available as @v + letter. See here.

      greek letters demo

    • Common environments can be obtained by BXY where XY are the first two letters of the environment name, eg. BEQ gives the equation environment. If you want the star version of the environment, use BSXX, eg. BSEQ gives the equation* environment. See here.

      BSAL demo - Common font commands can be obtained by FXY where XY are the last two letters of the font command name, eg. FIT gives \textit{}. See here.

      FBF demo - Many other maths symbols can be obtained with the @ prefix. See here.

    \frac shortcut demo \int shortcut demo - [Shortcuts](https://github.com/James-Yu/LaTeX-Wo

Extension points exported contracts — how you extend this code

CitationField (Interface)
(no doc) [2 implementers]
src/types.ts
FakeProc (Interface)
(no doc)
test/units/06_linter/chktex.test.ts
AtSuggestionItemEntry (Interface)
(no doc)
src/completion/completer/atsuggestion.ts
MatchPath (Interface)
(no doc)
src/utils/inputfilepath.ts
LaCheckLogEntry (Interface)
(no doc)
src/lint/latex-linter/lacheck.ts
IParser (Interface)
(no doc)
src/parse/parser/parserutils.ts
MatchSection (Interface)
(no doc)
src/extras/section.ts
CompletionProvider (Interface)
(no doc) [1 implementers]
src/types.ts

Core symbols most depended-on inside this repo

push
called by 1189
viewer/viewer.mjs
fromRgb
called by 468
resources/unified.js
get
called by 448
resources/unified.js
path
called by 436
resources/unified.js
peg$fail
called by 391
resources/unified.js
map
called by 378
resources/unified.js
join
called by 281
src/types.ts
update
called by 256
viewer/viewer.mjs

Shape

Function 2,267
Method 1,093
Class 256
Interface 17
Enum 8

Languages

TypeScript99%
Python1%

Modules by API surface

viewer/viewer.mjs1,441 symbols
resources/unified.js1,109 symbols
src/core/commands.ts41 symbols
test/units/utils.ts31 symbols
src/core/file.ts25 symbols
src/core/cache.ts25 symbols
src/utils/logger.ts23 symbols
src/completion/completer/citation.ts23 symbols
src/core/watcher.ts21 symbols
src/preview/server.ts20 symbols
src/extras/liveshare.ts20 symbols
dev/pyintel/pkgcommand.py20 symbols

Dependencies from manifests, versioned

@eslint/eslintrc3.3.5 · 1×
@eslint/js10.0.1 · 1×
@stylistic/eslint-plugin5.10.0 · 1×
@types/cross-spawn6.0.6 · 1×
@types/glob8.1.0 · 1×
@types/micromatch4.0.10 · 1×
@types/mocha10.0.10 · 1×
@types/node20.17.11 · 1×
@types/node-fetch2.6.13 · 1×
@types/sinon21.0.1 · 1×
@types/tmp0.2.6 · 1×
@types/vscode1.114.0 · 1×

For agents

$ claude mcp add LaTeX-Workshop \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact