Eclipseから逃げたい人向け、VSCodeのFAQ

聞かれたことのあることないことまとめ。

# Q. チームまるごとじゃないんだけど……
A. **問題ありません**。とりあえずmavenやgradleで組まれてれば読めるし、きっちりと試してませんがEclipseのプロジェクトでも行けるらしいです。
実際のところ、現場でVSCode使ってるのはチームだと私ぐらいのもんじゃないでしょうか……もっと流行れ。

# Q. 機能は大丈夫なの？
A. フルスペックのIDEには劣りますが、**必要な機能は大体あります**。~~むしろEclipseより多機能な気さえしてくる~~
拡張機能の開発も盛んなので、探してみるととっくに作られていることも珍しくありません。

# Q. 本当に軽いの？
A. 私の現場環境[^1]での話になってしまいますが、**劇的に軽いわけではありません**。というか、VSCode向けのJava用言語サーバはそもそもEclipseのものだったりします。
しかし、**確実に軽いです**。RAM消費は (タスクマネージャで見ただけですが) 0.8GBほど減っています。作業中、かなりRAMを食っている状態でも言語サーバ分が1.2GB程度、本体が0.5GB程度なのでかなり楽です。
まあ、一番軽くなったのはなによりも (エディタとして安定しているので) いきなり作業中のデータが吹き飛ぶ心配をしなくて良くなった私の心かもしれませんが。

# Q. 難しくない？
A. **ないです**。断言します。
そもそもMS製品なので、極論**Officeに慣れてればなんとなく近いショートカットキーが使えます**。**なんなら好き勝手カスタムできるので好きにしてください**。
また優しいことに「対話型プレイグラウンド」で**スマホゲーよろしくチュートリアルまでしてくれます**[^2]。

# Q. ぶっちゃけめんどくさくない？
A. **設定済みのEclipseバイナリを落としてくるよりは流石にめんどくさいです**。が、**大したことはありません**。
予めJDKを入れておけば、あとは拡張機能を入れると「え、こんなんで大丈夫なの……？」レベルで動きます。

# Q. とりあえずインストールしたぞ！ ……で、何をすればいいんだ？
A. 左端、アイコンが縦に5つ並んでいるはずです。**一番下のよくわからんパズルっぽいアイコン (？) が拡張機能マーケットプレイスへアクセスさせてくれます**。そこから必要な拡張機能を入れましょう。あとは使いながら、気に入らないところをカスタムしていけばOKです。
いろいろ省略して雑にいうと、**JDKインストールしてJava Extension Pack入れれば最低限Javaれます**。

# Q. よしわかった！設定はどこでやるんだ！？
A. Ctrl+. か「ファイル」メニューから探し出してください。JSONで設定をバリバリ書いていく感じですが、最近普通の設定画面っぽいものも (まだプレビュー段階ですが) ついてくるようになりました。

# Q. とりあえずEclipseで作業してたものを開きたい！どうすればいい！？
A. 「フォルダーを開く」というボタンが出ていませんか？ (別に「ファイル」メニューからでも構いませんが) 
まずはそれでこれまで作業していたソースたちの存在するフォルダ……のプロジェクトルートを指定してあげれば、それっぽく開いてくれます。
2つ以上まとめて開いておきたいなら、「ワークスペースにフォルダーを追加」でOKです。
なおEclipseのワークスペースは「作業場」でしたが、VSCodeのワークスペースは「ここらへんのソースコードをこんな感じで読み込んでね」という指示書なので、使い回す予定なら「名前をつけてワークスペースを保存」をお忘れなく。もっとも、忘れても割となんとかしてくれますが……

# 補足資料: カスタム例
以下は私が実際に使用している構成の情報です。
JavaでWebな感じの人間ですが、**もうこれでいいんじゃないかな**、という結論に至りました。

## 設定

```config
{
    "editor.fontFamily": "Fira Code",
    "editor.fontLigatures": true,
    "editor.fontSize": 12,
    "files.autoGuessEncoding": true,
    "workbench.editor.enablePreview": false,
    "workbench.iconTheme": "material-icon-theme",
    "editor.renderWhitespace": "all",
    "editor.renderControlCharacters": true,
    "workbench.colorTheme": "Default High Contrast",
    "workbench.colorCustomizations": {
        "editorLineNumber.foreground": "#888",
        "editorWhitespace.foreground": "#888"
    },
    "terminal.integrated.shell.windows": "C:\\Users\\[[REDACTED]]\\AppData\\Local\\Programs\\Git\\bin\\bash.exe",
}
```
……つまり、

* フォントは「Fira Code」、合字機能オン、サイズ12
* 文字コード自動検出機能オン
* プレビューモード無効
  * デフォルトではシングル・クリックでプレビューモード、ダブルクリックで通常モード。
  * プレビューモードで開く場合、既にプレビューモードで開いたタブがあるならそのタブで開くような挙動をする。
     * いろんなファイルを順繰りにするとき便利……らしい。気に入らないものは切れるのもいいところ。
* エディタは空白文字、制御文字を全て表示する。
* ワークベンチ・カラーテーマに "Default High Contrast" 、アイコンテーマに "Material Icon Theme" を採用。
  * "Default High Contrast": 文字通り、VSCodeがデフォルトで持っているハイコントラストテーマ。読みやすさ重点な。
     * ただし、行番号と空白はちょっと色を変えてある。流石にうるさかった。
  * "Material Icon Theme": 同名エクステンションによって追加されたテーマ (後述) 。要はアイコンが気に食わなかったので差し替えた。
* 統合ターミナルは Git Bash を採用。初期は cmd だった気がする。

## 拡張機能
* Japanese Word Handler  
Ctrl+十字キーによる単語単位ジャンプが日本語でも機能するようにしてくれる。  
なくても困らないのはそのとおりだが、使えないと地味にストレス。
* Code Outline  
クソコード戦線のお供。ないとhageる。  
機能は各種IDEのアウトライン機能と概ね同じであり、使い方も大差ない。
* Java Extension Pack  
Java向けの必須っぽいのを集めてあるめんどくさがり向けパック。以下の4つをまとめて入れてくれる。それだけ。  
とりあえず入れておけばだいたいJavaっぽいことができる。Microsoft公式。
  * Language Support for Java  
言語サーバとサービス本体。Eclipseのヤツらしい。動作的にもRAM的にも重めな上たまにサボるが、まあ概ね使い物にはなる。  
トークナイザがアホなのか、たまに意味不明なコンパイルエラーを報じて来る……が、該当ファイルを開けば直る。RedHat製。JDKは入れておくこと。
  * Debugger for Java  
変数の書き換えや命令ポインタの変更はできないっぽい。ログポイント (VSCodeの機能、ブレークポイントのノリでログを挿入できる) も非対応だった。  
まあ、少なくともブレークポイントと変数値チェックはできるしリモートデバッグも対応。必要十分。Microsoft製。  
  * Java Test Runner  
テストクラス、テストメソッドの付近にテストの実行/デバッグ実行ボタン (リンクというべきか) が配置される。  
Eclipse方面でいうQuick JUnitみたいなもんだと思えばだいたい合ってるが、よく実行できずにSkipされるのでそういう時はコマンド叩こう。Microsoft製。
  * Maven Project Explorer  
コマンドを記憶しておいたりアーキタイプ生成やってくれたりするらしい。Microsoft製。  
……伝聞系なのは使っていないせい。コマンドラインでいいので表示を切っている。
* Tomcat for Java  
トム猫のランナー。適当なところにTomcatを解凍しておいて「これを使え」と指示すればうまくやってくれる。拍子抜けレベルでエラいあっさり動く。  
少なくともWindows環境では (AppData内の) 設定周りをエクステンション用ディレクトリにろ突っ込んでおり、Tomcatのインストールディレクトリを汚染しない安心仕様。
* ESLint  
JS使うなら入れとけ枠。VSCodeは素でnodeサポート入りなので別になくてもどうにかなる気はする。  
もちろん逐次更新してくれる。いちいち手でやらなくてよいので非常に便利。
* Japanese Language Pack for Visual Studio Code  
Microsoft公式のVSCode用言語パック。……なんか異様に評価値が低いのはなんでだ？  
当然エクステンションは翻訳してくれないので、統一感がほしいなら入れずに英語で使ったほうがいいかも。
* Material Icon Theme  
デフォルトのアイコンが気に入らないならおすすめ。

[^1]: プロジェクト多数を同時に読み込んでゴニョゴニョしてたりVM立てたりブラウザいっぱい開いたりチャットがあったり、をRAM8GBで頑張る。もちろんWindowsである。慈悲はない。
[^2]: 英語でしたけど。まあ難しくないんで流石にあのぐらいは読んでください。