Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more.
Go to file
James Jianqiao Yu 374e6fdfa0
Merge pull request #4424 from James-Yu/3783-writing-end-autocomplete-with-another
3783 writing end autocomplete with another
2024-10-03 15:06:02 +08:00
.devcontainer Install pygments and minted [skip ci] 2022-02-16 13:43:36 +09:00
.github Add back GitHub Actions on PR 2024-10-01 17:44:40 +08:00
.vscode Start new unit tests, fix a hidden bug in watcher 2024-05-23 14:31:22 +01:00
data Resolve #4420 Add \left|..\right| snippet 2024-10-02 15:27:43 +08:00
demo_media Add demo for surrounding text with autocompletion 2020-11-26 12:21:16 +01:00
dev Upgrade to PDF.js 4.6.82 2024-09-19 13:07:10 +08:00
icons Remove unused icons 2023-01-23 00:01:40 +08:00
resources Update dependencies 2024-09-06 17:04:15 +08:00
samples Update devcontainer.json white spaces 2023-09-28 13:36:58 +01:00
scripts Customize docker (or podman) path (#4222) 2024-06-10 16:00:21 +01:00
src Env suggestion should insert env name when in {} pair 2024-10-03 15:01:04 +08:00
syntax Update grammar files to jlelong/vscode-latex-basics@3ee9a1f346 2024-09-20 11:06:40 +02:00
test Env suggestion should insert env name when in {} pair 2024-10-03 15:01:04 +08:00
types All pdf viewer unit tests 2024-09-24 16:08:35 +08:00
viewer Add pdf viewer l10n lang selector 2024-10-02 12:23:32 +08:00
.gitattributes Ignore *.js in GitHub language check [skip ci] 2023-12-12 16:59:11 +00:00
.gitignore Avoid included bib circular inclusion, de-duplicate included tex, cache getter tests 2024-06-09 18:28:19 +01:00
.vscodeignore Update pdf.js to v4.0.269 2023-12-13 10:29:46 +00:00
CHANGELOG.md Version 10.4.2 2024-10-02 13:53:27 +08:00
CONTRIBUTING.md Edit on debug [skip ci] 2022-04-27 10:08:41 +09:00
eslint.config.mjs Adapt to eslint v9 and fix all issues 2024-09-06 10:38:16 +08:00
LICENSE.txt Compose a README 2016-12-26 16:22:34 +08:00
package-lock.json Version 10.4.2 2024-10-02 13:53:27 +08:00
package.json Version 10.4.2 2024-10-02 13:53:27 +08:00
package.nls.bg.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.cs.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.de.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.es.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.fr.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.hu.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.it.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.ja.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.ko.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.pl.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.pt-br.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.ru.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.tr.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.zh-cn.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
package.nls.zh-tw.json L10n Language Support (#4301) 2024-06-26 15:34:03 +01:00
README.md Add link to SyncTeX Wiki page on README (#4269) 2024-05-20 13:37:27 +01:00
tsconfig.eslint.json Update script to retrieve grammar definitions 2024-05-02 10:38:12 +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.88.0 (March 2024 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

    • 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