Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more.
Go to file
James Yu c4e49d4043 Fix #3640 Avoid using String.replaceAll()
Another package `isort` is doing something bad to the function.
2023-01-13 01:46:26 +08:00
.devcontainer Install pygments and minted [skip ci] 2022-02-16 13:43:36 +09:00
.github Always upload test logs as archive 2023-01-12 21:54:57 +08:00
.vscode Use document change to trigger formatter test asserts 2023-01-12 23:08:57 +08:00
data Fix #3638 Unescape backslash in default envs 2023-01-10 21:20:13 +08:00
demo_media Add demo for surrounding text with autocompletion 2020-11-26 12:21:16 +01:00
dev Intelli-package dependency obeys package options #3612 2023-01-09 10:13:31 +08:00
icons Close #3259 Define TeX sidebar icon width 2022-04-21 15:15:47 +08:00
resources Edit headings levels [skip ci] 2022-03-15 08:00:12 +09:00
samples minor edit [skip ci] 2022-02-17 08:50:36 +09:00
scripts Do not echo commands in .bat scripts 2019-12-28 22:09:31 +01:00
src Fix #3640 Avoid using String.replaceAll() 2023-01-13 01:46:26 +08:00
syntax pweave 2023-01-04 12:13:05 +01:00
test Use document change to trigger formatter test asserts 2023-01-12 23:08:57 +08:00
types Fix #3633 Use msg to copy from embeded viewer 2023-01-09 21:41:23 +08:00
viewer Fix #3633 Use msg to copy from embeded viewer 2023-01-09 21:41:23 +08:00
.eslintignore Extract to test/utils/decycle.ts 2022-04-06 08:25:23 +09:00
.eslintrc.json Clarify with type annotations that Extension is a kind of service locator 2022-07-23 22:24:54 +09:00
.gitignore Save test error logs to file to reduce pollution 2022-12-29 11:42:38 +08:00
.vscodeignore Exclude texlive in vsix on macos GitHub Actions 2022-12-29 18:24:44 +08:00
CHANGELOG.md Version 9.4.4 2023-01-10 21:24:19 +08:00
CONTRIBUTING.md Edit on debug [skip ci] 2022-04-27 10:08:41 +09:00
LICENSE.txt Compose a README 2016-12-26 16:22:34 +08:00
package-lock.json Version 9.4.4 2023-01-10 21:24:19 +08:00
package.json Fix #3585 A better description to latex.watch.files.ignore 2023-01-11 10:22:25 +08:00
README.md Update badges in README 2022-12-23 09:03:22 +08:00
tsconfig.eslint.json Define a mixed latex markdown language 2021-09-21 09:26:55 +02:00
tsconfig.eslint.viewer.json Fix tsconfig.eslint.viewer.json. 2021-04-12 15:07:45 +09:00
tsconfig.json Set "target": "es2021" 2022-05-13 08:26:33 +09:00

Visual Studio Code LaTeX Workshop Extension

version updated release

downloads installs rating license

TeX Live on Windows TeX Live on macOS TeX Live on Linux

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.67.0.

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

    • In addition to snippets, there are shortcuts provided by the extension that allow you to easily format text (and one or two other things).

      \emph{} demo
  • When the current line starts with \item or \item[], hitting Enter automatically adds a newline starting in the same way. For a better handling of the last item, hitting Enter on a line only containing \item or \item[] actually deletes the content of the line. The alt+Enter is bind to the standard newline command. This automatic insertion of \item can be deactivated by setting latex-workshop.bind.enter.key to false.

    auto \item demo
  • Preview on hover. Hovering over the start tag of a math environment causes a mathjax preview to pop up.

    equation hover demo

GitHub

The code for this extension is available on github at: https://github.com/James-Yu/LaTeX-Workshop

Like this work?

  • 😄 Star this project on GitHub and Visual Studio Marketplace
  • 😊 Leave a comment
  • ☺️ Thank the develops and community for their effort.

License

MIT