VS Code

https://code.visualstudio.com/

Installation

https://code.visualstudio.com/docs/setup/setup-overview

ダウンロードページ からインストーラをダウンロードして実行する。

PATH への追加

ターミナルや PowerShell から code /path/to/project で開けるようにする設定。

インストール中に “追加タスクの選択” が求められたときに “PATH への追加” オプションをオンにするか、 VS Code を起動して CtrlShiftP でコマンドパレットを開き、 “shell” と検索して出てくる “Shell Command: Install ‘code’ command in PATH” をクリック。

WSL で使う場合

  1. VS Code を (WSL 側ではなく) Windows にインストールする。

  2. インストール中に “追加タスクの選択” が求められたときは、 “PATH への追加” オプションをオンにする。

  3. CtrlShiftX で拡張機能を検索して、 Remote Development 拡張機能 をインストールする。

プロジェクトを開くには WSL から code /path/to/project するか、 VS Code から ControlShiftP でコマンドパレットを開いて “WSL: Connect to WSL” を選択。

Settings

エディタの設定をカスタムするための settings.json と キーボードショートカットを割り当てるための keybindings.json がある。

グローバルな設定ファイルの場所は OS によって異なり、

  • Windows: %APPDATA%\Code\User\
  • macOS: $HOME/Library/Application\ Support/Code/User/
  • Linux: $HOME/.config/Code/User/

にある。 これに加えて、プロジェクト (ワークスペース) 専用の設定は /path/to/project/.vscode/ 内においておけばグローバル設定に追加 (または上書き) される。

WSL を含め、リモートホストで VS Code を使う場合、基本的にローカルマシンの設定が反映されるほか、 $HOME/.vscode-server/data/Machine/settings.json も読まれる。

拡張機能

SSH

https://code.visualstudio.com/docs/remote/ssh-tutorial

マシン自体に SSH の設定をしてあれば、 拡張機能をインストールするだけで SSH ホストのファイルにアクセスできる。 コマンドパレットを開いて “ssh” で検索し、“Romote-SSH: Connect to host…” を選択して接続先を選ぶだけ。

WSL で使っているときに SSH をすると、 VS Code は Windows 側のホームを参照してコマンドプロンプトから ssh するため、 WSL ホームの SSH 設定は使われない。 (see also #937)

Quarto

https://quarto.org/docs/tools/vscode.html

  1. VS Code に Quarto 拡張機能 をインストールする。

  2. Quarto CLI をマシンにインストールする。

    ## Mac なら homebrew で
    brew install --cask quarto
    
    ## WSL は .deb を落としてくるのが正攻法?
    sudo curl -LO https://quarto.org/download/latest/quarto-linux-amd64.deb
    # sudo apt-get install gdebi-core  # if needed
    sudo gdebi quarto-linux-amd64.deb

Qmd のプレビューをするには、右上の Preview ボタンや Control/CommandShiftK が使える。

R

  1. R に languageserver を入れる。

    install.packages("languageserver")
  2. VS Code に R の拡張機能を入れる。

  3. 環境設定ファイルに追記:

    settings.json
    {
      "r.sessionWatcher": true
    }
    keybindings.json
    # ctrl+enterでコマンドをターミナルに送るための設定
    [
      {
        "key": "ctrl+enter",
        "command": "workbench.action.terminal.runSelectedText",
        "when": "editorTextFocus"
      }
    ]
  4. コマンドパレットを開いて “R: Create R terminal”