Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Cloud LaTeX Extension for Visual Studio Code

CI License

特徴

  • ローカルPCにtexliveをインストールすることなくVSCodeで編集したtexファイルをコンパイル可能に
  • Cloud LaTeX公式VSCodeプラグイン
  • ローカル上のファイルとCloud LaTeXサーバ上のファイルを自動同期
  • オフライン時のファイル編集にも対応 (オンライン復帰時に自動同期)

インストール

Visual Studio Marketplaceからインストール、あるいはクイックオープン(ctrl/cmd + P)に ext install cloudlatex と入力します.

準備

  1. Cloud LaTeXのアカウントを持っていない場合は、Cloud LaTeXからアカウントを作成します。

  2. プロジェクト一覧の右上のユーザ名をクリックし、上から3つ目のプラグイン連携を選択する。トークン生成ダイアログが表示されるので、アカウント情報を入力し、生成されるクライアントID、トークンを記録します。

    extension button
    token dialog
  3. プロジェクト一覧からプロジェクトを作成します。(VSCodeから利用したいプロジェクトが既に存在する場合はスキップしてください。)

  4. 作成したプロジェクトのプロジェクトIDをURLより記録します。例: /projects/123/edit -> プロジェクトIDは 123

    url of cloudlatex project page

設定

  • ローカルに空のプロジェクト用フォルダを作成し、VSCodeでそのフォルダを開きます。 Activity Barに表示されるCLアイコンをクリックするとSide Barに二つのボタンが表示されます。

  • Set accountボタン(アカウント設定 ボタン)をクリックし、email, client, token を設定します。 アカウントの設定は、コマンドパレット(mac: Cmd+Shift+P, win: Ctrl+Shift+P)でcloud LaTeX: Set account コマンドからも可能です。

    * VSCodeの言語設定で日本語が設定されている場合は当拡張機能の表示も日本語化されます。キャプチャ画像は英語のものです。(詳細

    panel UI
  • 次にProject setting ボタン (プロジェクト設定 ボタン) をクリックし表示される項目のうち、 Cloudlatex.projectID に準備の項で確認した値を設定し、 Clodulatex.Enabled にチェックを付けます。(Project setting ボタンが表示されていない場合、プロジェクトフォルダが開かれているか確認してください。)

    User タブではなく、Workspace タブに設定を行う必要があります。

    setting UI
  • プロジェクトのsettings.jsonから設定することも可能です。(右上のアイコンクリックでsettings.jsonを開きます)

    {
      "cloudlatex.projectId": 123,
      "cloudlatex.enabled": true,
      "cloudlatex.outDir":  "./.workspace",
    }
  • LaTeX Workshopと併用することで、pdfのレビューやコマンド補完などが使えるようになります。 この場合、以下のようにしてLatex Workshopの自動コンパイルを無効化してください (latex-workshop.latex.outDircloudlatex.outDir と同じ値に設定します)。

    {
      "cloudlatex.projectId": 123,
      "cloudlatex.enabled": true,
      "cloudlatex.outDir":  "./.workspace",
      "latex-workshop.latex.autoBuild.run": "never",
      "latex-workshop.latex.outDir": "./.workspace",
      "[latex]": {
        "editor.formatOnSave": false,
      }
    }
  • 設定ファイルを変更すると、VSCodeを再起動するよう促すダイアログが表示されるので、ダイアログ中のダイアログ中の Restart VSCode ボタンを押して再起動します。 再起動後、プロジェクトファイルがダウンロードされます。 ダウンロードが成功すると、ファイル同期に成功した旨のダイアログが表示されます。

    プロジェクトを同期しなおす際には、同期中にローカルのファイルを削除しないように注意してください。(サーバのファイルも削除されます) また、 同じローカルディレクトリ内で同期するプロジェクトを変更する際には、ローカルファイルが予期せず上書きされないように注意してください。(projectId を変更して同期を行うと、元のローカルファイルは上書きされます)

    * プロジェクトファイルがダウンロードされない時は、reloadボタン(リロード ボタン)をクリックするか、一旦VSCodeを閉じ、再度開いてみてください

設定項目一覧

Setting key Description Default Type
cloudlatex.enabled プラグインを有効にするかどうか false boolean
cloudlatex.projectId プロジェクトID. *設定を間違えるとローカルファイルが別のプロジェクトファイルの内容に上書きされる可能性があるので注意してください 0 number
cloudlatex.outDir コンパイル成果物出力先ディレクトリ "" string
cloudlatex.autoCompile 自動コンパイルを有効にするかどうか true boolean
cloudlatex.supressIcon true にするとLaTeXプロジェクト以外のプロジェクトではActivity BarにCLアイコンが表示されなくなります false boolean

UI言語設定

VSCodeの言語設定で日本語が設定されている場合は当拡張機能のUIも日本語表示になります。 日本語表示にするにはこちら からJapanese Language Packをインストールしてください

ファイルの同期とコンパイル

  • オンラインの際にはローカルで行ったでファイルの変更が自動で同期されます。 Cloud LaTeXのwebアプリから行ったファイルの変更もローカルに反映されます。

Project settingcloudlatex.autoCompile にチェックを入れることで、ファイル保存時に自動でコンパイルが行われます。 CLアイコンをクリックすることで表示されるサイドパネルの、 Compile ボタンからコンパイルすることも可能です。 コンパイル完了後、Project settingcloudlatex.outDir に設定したディレクトリ以下にpdfがダウンロードされます。

コンパイラ出力の確認

  • texファイルに構文エラーがあり、コンパイルに失敗した場合、コンパイルに失敗した旨のダイアログが表示されます。

    error dialog
  • Check details ボタンを押して、コンパイラ出力を確認してください。

    problems tab

ファイルのコンフリクト

  • 同一のファイルをローカルとサーバ(Cloudlatex Webエディタ、あるいはDropbox連携機能)の両方で編集すると、ファイルのコンフリクトが発生します。コンフリクトが発生すると、ローカルかサーバ、いずれかの変更に合わせる必要があります。

  • コンフリクトを検知すると、以下のダイアログが表示されます。

    conflict dialog
  • Resolve conflict ボタンを押し、PullPush を選択します。

    resolve conflict dialog
    • Pull: サーバの変更をダウンロードし、サーバに合わせます
    • Push: サーバにローカルの変更をアップロードすることで、ローカルに合わせます
    concept of conflict

トラブルシューティング

error in syncSession: ...」 というエラーメッセージが表示され、ファイルの同期が完了しない

リモートサーバとのファイルの同期が失敗しています。 Cloud LaTeX webアプリのプロジェクトにアクセスし、コンパイルターゲットが設定されていない等の問題がないか確認してください。 また、ローカルに不正なファイル(.から始まるファイル、LaTeXで利用されない拡張子を持つファイル等)が存在しないか確認し、存在する場合は削除してください。 問題が解決しない場合、コマンドパレット(mac: Cmd+Shift+P, win: Ctrl+Shift+P)を開き、cloud LaTeX: Reset local コマンドを実行し、強制的にローカルファイルの状態をサーバの状態に合わせることが可能です (注: サーバに同期されていないローカルファイルの変更点は失われます)。

コンパイル時に「Target file is not found」というエラーメッセージが表示される

コンパイルターゲットに指定したファイル名を変更または削除すると、コンパイルができなくなります。その場合、Cloud LaTeX webアプリよりコンパイルターゲットを設定しなおしてください。

起動時に「Be sure to set cloudlatex.enabled to true ...」というエラーメッセージが表示される

Project settingUser タブの cloudlatex.autoCompile のチェックを外してください。(Project タブのcloudlatex.autoCompile にのみチェックを入れる必要があります)

今までファイル同期できていたのにかかわらず、突然「Your account is invalid」という警告メッセージが表示され、同期ができなくなる

トークンの有効期限が切れた可能性があります。サイトにアクセスし、初回と同様の手順でトークンを発行しなおしてください。

注意事項

  • VSCodeでプロジェクトを開いている時にのみファイルの同期が行われます。そのため、プロジェクトを開いていない際に行ったファイル操作は同期されません。

ソースコード

https://github.com/cloudlatex-team/cloudlatex-vscode-extension/tree/main

ライセンス

Apache License 2.0

開発方法

development 参照