Heavy Watal

VSCode — Microsoft製テキストエディタ

Microsoftが開発しているGUIテキストエディタ。 Atom を継ぐもの。

https://code.visualstudio.com

Keyboard Shortcuts

https://code.visualstudio.com/docs/getstarted/keybindings

key command description
p Command Palette これさえ覚えれば
p Open Git Projects GPMを使ってディレクトリを開く
p Search files by name プロジェクト内の別ファイルを開く
f Find in Files プロジェクト内をファイル横断で検索
e Show Explorer プロジェクト内のファイル一覧
x Show Extensions 拡張一覧。インストールもここから
/ Toggle Line Comment コメントアウトしたり外したり
^` Toggle Terminal
^ Run Selected Text エディタからターミナルにテキストを送る(要設定)
Move line down
Copy line down
cursorColumnSelectDown 矩形(ブロック)選択
ks Keyboard Shortcuts 一覧
kr Keyboard Shortcuts Ref. 抜粋PDF

設定ファイルは ~/.config/Code/User/keybindings.json

    {
        "key": "ctrl+enter",
        "command": "workbench.action.terminal.runSelectedText",
        "when": "editorTextFocus && resourceExtname != .ipynb"
    },

環境設定

https://code.visualstudio.com/docs/getstarted/settings

いつもの , キーで設定画面を起動。

設定ファイルは ~/.config/Code/User/settings.json

拡張パッケージ

https://code.visualstudio.com/docs/editor/extension-marketplace

R

https://code.visualstudio.com/docs/languages/r

人にはRStudioを薦めるけど個人的にはこっちのほうが使いやすい。

  1. languageserver をインストールする:
    install.packages("languageserver")
    
  2. R extension for VSCode をインストール。
  3. R session watcher の設定。
    1. VSCodeの設定に "r.sessionWatcher": true を追加して再起動。 “Create R terminal” コマンドで専用コンソールを立ち上げる場合はこれだけ。
    2. ターミナルのtmuxからRを立ち上げるような場合、 設定ファイルを明示的に読み込む必要があるので .Rprofile に追記:
      if (interactive() && Sys.getenv("RSTUDIO") == "") {
        Sys.setenv(TERM_PROGRAM = "vscode")
        source("~/.vscode-R/init.R")
      }
      

ここまでやれば View()help() などをVSCodeで表示できる。 以下はお好みで。

Python

https://code.visualstudio.com/docs/languages/python

Microsoft公式パッケージが提供されていて、がっちりサポートされている感じ。

Python
とりあえずこれを入れれば下記の依存パッケージも自動で入るはず。
Pylance
補完や型チェックなどを担う language server.
中では Pyright が使われている。
警告を非表示にするには次のように書く:
# pyright: reportUnusedVariable=false

設定項目: https://github.com/microsoft/pyright/blob/main/docs/configuration.md

Jupyter
Jupyter notebook support

Glossary

IntelliSense
Microsoft製の補完システム。 各種 language server から情報を受け取る。
CodeLens
補助的な情報を表示する機能。
ファイルの内容と区別しにくい形で挿入されてすごく邪魔なので確実に切る。
Integrated Terminal
VSCode内で開けるターミナル。^`
シェルを介さず直接 tmux を起動する設定も可能。