Visual Studio CodeでPHPはまだちょっと厳しいかも

2017.2.27追記
Visual Studio CodeでPHPはPHP IntelliSense使えばなかなかいけるかも を投稿しました。

 

何日か使ってみて分かったことは、PHPだとF12で定義先に飛ばないし、コマンドパレット出して@って打ってもシンボル(関数定義など)の一覧も表示されない……(Sublite Textだと Ctrl+r または Ctrl+pして@)

何かの設定かエクステンションが必要なのかと思って調べてたのですが、どうやら実装されてないっぽいです。

Editing Evolved

PHP Programming with Visual Studio Code

VS Code + PHP, how to go to definition

IntelliSenseとスニペットはすげー便利なんですけどねー。

 

それとこれは使い方次第ですが、Sublime Textの保存しなくても保存されてる機能に溺れてるんでちょっと乗り換えは無理でした。

Sublime Textを使ったことないと意味が分からないかもしれません。例えば新しいファイルを開いてちょろちょろっとメモ書きして、わざわざファイルに保存するほどの内容じゃないって時にSublime Textを終了しても、再度起動したら保存してないメモも元のままで残ってます。もちろんファイルは保存されてません(どっかに一時ファイルはあるでしょうが)。いちいち終了時に「保存しますか?」とか聞いてもきません。

どういうことかと言うと常に開いてる全てのファイルの状態を自動で保存してるので、いつ間違ってSublime Textを終了させようとも、パソコンが勝手に再起動しようとも、再度Sublime Textを開くと元通りという素晴らしさ。

Visual Studio Codeでも自動保存は設定可能です。保存するタイミングはファイルの切り替え時または編集して設定時間経過後です。ただ新規のファイルは当然ですが勝手に保存してはくれないんですよね~。まぁ、求めてるのは自動保存とはちょっと違うのですが。

 

あとこれは慣れの問題ですが、個人的によく使う複数行選択してShift+Ctrl+l(エル)でのマルチカーソルが、Visual Studio CodeだとShift+Alt+iなのですが、挙動がちょっと違います。例えば3行選択して4行目の先頭にカーソルがある場合、前者は3行に、後者は4行にカーソルが設定されます。Visual Studio Codeの時は最後の行の改行を含めなきゃ済む話なんですけどね。

JavaScriptは最初に書いた定義へのジャンプや一覧、Alt+F12で定義先を編集可能な状態で一時的に開いたりできます。PHPのデバッグも設定簡単だし見やすいし軽いのでもうちょっと使ってみるつもりです。が乗り換えは今回もAtomに引き続き保留です。そういやSimplenoteもないや。