Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more.
Go to file
2022-05-07 22:03:23 +02:00
.devcontainer Install pygments and minted [skip ci] 2022-02-16 13:43:36 +09:00
.github Set git config --global core.autocrlf false for CI tests on Windows 2022-04-21 23:15:02 +09:00
.vscode Add "Run Unit Tests with unittest/fixture010" [skip ci] 2022-04-27 08:52:07 +09:00
data Fix typo in commands.json 2022-04-18 07:42:54 +02:00
demo_media Add demo for surrounding text with autocompletion 2020-11-26 12:21:16 +01:00
dev Fix python linting suggestions 2022-04-03 07:32:44 +02: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
snippets Fix #3024. Add MSF snippet for mathsf 2021-12-29 07:19:05 +01:00
src Check the number of arguments 2022-05-07 14:19:06 +02:00
syntax Remove latexblock for md as it has been part of vscode since 1.64.0 2022-04-23 13:55:33 +02:00
test Add glossary completion tests 2022-05-07 22:03:23 +02:00
types/mathjax-full - Migrate to MathJax v3.2 2021-11-16 07:17:59 +09:00
viewer Edit diagrams [skip ci] 2022-05-07 17:33:09 +09:00
.eslintignore Extract to test/utils/decycle.ts 2022-04-06 08:25:23 +09:00
.eslintrc.json Set "checksVoidReturn": { "arguments": false } 2022-04-08 07:35:12 +09:00
.gitignore Add a test for synctex 2022-04-06 07:57:43 +09:00
.vscodeignore Add node_modules/web-streams-polyfill/ to .vscodeignore. It is required only by pdfjs-dist/legacy/. [skip ci] 2022-04-25 16:38:25 +09:00
CHANGELOG.md Resolve #3274 Version 8.26.0 2022-05-05 14:40:27 +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 Update package-lock.json 2022-05-05 17:54:23 +09:00
package.json Resolve #3274 Version 8.26.0 2022-05-05 14:40:27 +08:00
README.md minor edit [skip ci] 2022-04-27 11:48:46 +09: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 es2019 as target 2022-01-09 10:42:12 +09:00

Visual Studio Code LaTeX Workshop Extension

version 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.64.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