カテゴリーアーカイブ エディタ

takahashi 著者:takahashi

VSCodeでパンくずリストを有効にする方法

有料のPHP用IDE”PHP Storm”には、カーソルの現在地がプログラムのどの位置に居るのか(どのクラスのどのメソッドの中にカーソルがあるか、など)を”パンくずリスト”の形で表示してくれる機能があります。

長いコードを見ているとしばしば今自分がどの位置にいるかわからなくなることがあるので、この機能はあるととてもありがたいです。

さて、この機能、有料のIDEにしかない便利機能かと思いきや、実はオープンソースのエディタ(という名のほぼIDE)のVSCodeでも使用することができます。

VSCodeでパンくずリストを表示するには、VSCodeの設定画面から有効にする必要があります。

まず、右下の歯車アイコンから”設定”をクリックします。

すると下のような設定画面がでてくるので、検索欄に breadcrumbs.enabled と入力します。

すると設定がフィルタされるので、その中から赤枠の

Breadcrumbs: Enabled

の項目のチェックボックスをオンにします。

これで設定は完了です。

あとはフォルダごと開いた状態でプログラムを確認すると…

VSCodeでもパンくずリストが表示できます…!

このパンくずリストがあるだけで、コーディング中に”遭難”する率がかなり減るので、VSCodeを使っている方は是非一度試してみてください。

  • この記事いいね! (0)
著者:杉浦

【PhpStorm】ショートカットキーのリストを表示するショートカットキー

 PhpStormのできることは膨大でそのできることに対応しているショートカットキーの数もまた多いです。その様に多いショートカットキーを覚えられる人は稀でしょう。これの対策なのかいくつかのショートカットキーをグループ化したショートカットキーのリストのポップアップを表示するショートカットキーが用意されています。このリストをクイックリストと言います。
クイック・リスト – 公式ヘルプ | PhpStorm
クイックリストの設定 – 公式ヘルプ | PhpStorm
 私がよく使うのは大体次の三つです。
 Alt+Enterによる今カーソルが当たっているコードを改善する提案の表示。厳密にはクイックリストと違いますが感覚的に似ているので挙げました。

 Ctrl+Shift+Alt+Tによるリファクタリング操作の表示。

 Ctrl+Nによる何かしらの目印の名前検索の表示。これはTabで選択を動かせます。

  • この記事いいね! (0)
著者:杉浦

【PhpStorm】deep-assoc-completionプラグインの妙な機能

 deep-assoc-completionはPHPの配列のキーを探索するプラグインです。これのおかげで連想配列を予測補完でき、配列を扱うのが楽になります。
deep-assoc-completion – Plugins | JetBrains

 あっさりしたいいプラグインなのですが配列に関係なさそうなPhp->JSの翻訳機能がついていました。次の様な翻訳が働きます。

 昔のエキサイト翻訳ばりの怪しさですが、JavaScriptのコードになっています。少なくともクラス、ファイルあたりの各依存関係を解決する必要があり、微妙な手直しも必要なのでフレームワークのコード全体をコピーすることはあまり得でないでしょう。一方でLaravelのhelper関数、バリデーション関数の様な小さな閉じたコード、緯度経度と平面直角座標を変換する長い四則演算のコード、といったものを変換するのには便利です。
 この機能は実験的機能であり実現するにしても随分先の話ですが、JavaScriptへの変換精度を上げる、webpackかnpm runか何かのビルド用スクリプトに組み込む、の二つが出来ればJavaScript、PHPの両方をサポートする一つのプログラムファイルを作るなんてこともできそうです。

 python to javascript transpilerやpython to php transpilerでググるとまあまあ件数が出てきました。pythonを第3言語ないし中間言語として扱えば現時点でもJavaScript、PHPの両方をサポートする一つのプログラムファイルを作ることは現時点でも現実的?

  • この記事いいね! (0)
著者:杉浦

【Laravel】【PhpStorm】Laravelプラグインの参照、移動機能

 Laravelはよく文字列で特定のパスの対象を指定します。それは配列であったり、ファイルであったり、メソッドで合ったり様々です。プラグインはこの指定の入力補完と移動を容易にします。これがあるとどこかしらを見ながら手打ちするといった手間を省けます。
Laravel – 公式ヘルプ | PhpStorm
Laravel – Plugins | JetBrains
Haehnchen/idea-php-laravel-plugin: Laravel Framework Plugin for PhpStorm / IntelliJ IDEA
 下画像のcompletion, gotoが予測と参照先への移動のついた機能です。

 コード補完は次の様に説明されています。

 静的解析の時点でコード補完が出来るぐらいに宣言を把握できる、ということは宣言の場所に移動することもまた可能です。Ctrl+Bはここでも便利です。

  • この記事いいね! (1)
著者:杉浦

【PhpStorm】PhpStormのショートカットキーを覚えるためのプラグインKey Promoter X

Key Promoter X – Plugins | JetBrains
 Key Promoter Xは何らかの操作を行った際、その操作に対応するショートカットキーがあるならば、そのショートカットキーを通知するプラグインです。これを用いることでPhpStormをより効率的に使えるようになります。
 具体的に何をするかというと次のgifです。

引用元:Key Promoter X – Plugins | JetBrains
 コマンドを打ち込むとやかましいくらい通知が出ます。ショートカットキーによる操作を心がけることで、このうっとおしい通知を減らします。この心がけが長く続くと、知っている操作をほとんどショートカットキーで行う様になります。
 このプラグインは知っている操作をよりうまく行うための矯正具です。真により上手くPhpStormを使えるようになるためには、このプラグイン以外に頼るのみでなく、知らない操作を吸収していくことが更に必要になります。

  • この記事いいね! (2)
著者:杉浦

【PhpStorm】Gitの範囲差分操作

 PhpStormはコーディング画面のままGitに関連した便利な操作ができます。画像の様な差分を表す部分をクリックすると変更前のコードが現れます。ここからショートカットで色々できます。

 よく使うのが差し戻しとコピーです。差し戻しは次のgifの様に戻るアイコンをクリック。この部分だけgitのhead部分のコードに戻せます。

 コピーはgifのようにメモアイコンをクリック。変更前後の動作の比較などに便利です。

 他にも差分へ移動、詳しい変更点の強調など細やかな操作が可能です。

  • この記事いいね! (0)
著者:杉浦

【PhpStorm】PhpStorm、PyCharm等JetBrains製IDEの公式マニュアル

JetBrains公式マニュアル日本語版 – 使い方から高等テクニックまで
 上記リンクはリンク名の通りJetBrains製IDEの公式マニュアルサイトです。このサイトなかなかくせものでGoogle検索の優先順位が内部ページのほとんど(少なくとも知る限り全部)より低く見つけにくいです。
 内部ページの多くは個々のIDEのヘルプです。例えば、次の画像の様にIDE名でググるとそのIDEについてのヘルプページが現れます。大体これです。


 優先されない本体側に何があるかというと、ショートカットキー一覧のPDFと

PhpStormのショートカットキー一覧
 新機能の紹介です。
 PhpStorm の新機能 – 究極の進化を遂げた最強の PHP 開発環境

 何かしらIDEの中身が新しくなるたび、このページにデモ付きで機能紹介がされます。過去の機能に関しては今までのユーザが重要なモノを抽出して紹介していることがほとんどですが、最新の機能となるとなかなかありません。
 最新版で明示的に特に役に立っている機能はgifにある”最近使用したロケーション・ポップアップ”です。この機能の特徴的な点はロケーションがファイル単位でなく数行単位で定まっている点です。この機能を使うと一ファイル中をあちこちに飛び回っても移動が苦になりにくいです。具体的には$this->やthis.の連なりや、万能ツールと化したファイルを読む時、特に役に立ちます。

  • この記事いいね! (1)
著者:杉浦

【PhpStorm】よりGitを意識するようになるプラグインGitToolBox

GitToolBox – Plugins | JetBrains
 GitToolBoxはPhpStormのプラグインのひとつです。プラグイン自身の説明にはこうあります。

Status display, auto fetch, inline blame annotation, commit dialog completion, behind notifications and more…

 要はGit周りの色々な機能を追加する、というものです。これを入れると今どのブランチにいるのかわかりやすくなったり、定期的なフェッチにより不意の衝突を軽減できたりします。特に変化が起きるのが次の図の赤丸部分です。


 Gitのコミットメッセージがインラインコメントとして表示されます。これによって、あるコードが現在の形になっている理由を端的に知れます。詳しく知るにはファイル単位の履歴なり、全体の履歴なりを追うべきですがコミットメッセージが適切ならばこれでわかります。
 わざわざ見に行かなければわからなかったコミットメッセージがこうもコードの間近で頻繁に見るようになると雑なコミットはもう出せません。推敲に身が入ります。

  • この記事いいね! (1)
takahashi 著者:takahashi

EclipseのDBViewerPluginでMySQLに接続する方法

以前の記事でEclipseにDBViewerPluginをインストールする方法についてご説明しました。

今回は実際に接続できるようにするところまでご説明したいと思います。

前回の時点で下記の画像のようにDBViewerPluginが表示されているかと思います。

左上の”DBViewerPlugin”を右クリックし、”登録”をクリックします。

すると、下記のようなウインドウが開きます。

ここで、EclipseがDBを直接扱えるようにするための”ドライバ”を指定する必要があります。

今回はMySQLを例にして説明します。
MySQLのEclipse(Java)用のドライバは下記URLから入手できます。

Download Connector/J – MySQL

Windowsの場合はzip形式の方が扱いやすい(専用ソフトなしで解凍できる)と思います。

ダウンロードしたら、Eclipseからいつでも参照できる場所に保存します。
(自分の場合は、Eclipseのフォルダの中に”drivers”フォルダを作成してそこに配置しました。)

ドライバを配置したら、Eclipse上の先ほどの画面で”ファイルの追加”をクリックし、ドライバの場所を指定します。

ドライバを指定したら次へをクリックします。

JDBC Driverに”com.mysql.jdbc.Driver”を選択します。

OKをクリックします。

すると接続文字列にサンプルの文字列が入るので、<host>の部分をMySQLサーバーのホスト名、<database>の部分をDB名にそれぞれ置き換え、さらにMySQLのユーザー名とパスワードを入力します。

ここまで出来たら”テスト接続”をクリックしてエラーが出なければ接続設定はOKです。

次へをクリックします。

最後に接続設定(読み込むテーブルや文字コードの指定など)が出てくるので、必要があれば指定し、完了をクリックします。

これで設定は完了です。
この時点でEclipse上からDBへのアクセスが可能になっているかと思います。

EclipseでMySQLをお使いの方は参考にしてみてください。

  • この記事いいね! (0)
著者:杉浦

【PhpStorm】PhpStormの提案するコードの簡略化

 PhpStormはAlt+EnterでPhpStormからコードをよりよくするための提案をしてくれます。例えば次です。

 厳密な比較を行うための第3引数を提案してくれました。この機能は様々な場所で働きます。例えばテストのAssertならば次の様に最もふさわしいAssert関数を提案してくれます。

 この提案機能はプラグインでも実装されており、次の二つが多くの人にダウンロードされ評価も高かったです。
kalessil/phpinspectionsea: A Static Code Analyzer for PHP (a PhpStorm/Idea Plugin)
SonarLint – Plugins | JetBrains
 phpinspectionseaはPhp Inspections(EA Extended)という名前でマーケットに並んでいます。EAは適度に警告、提案をしてくれます。EAはとりあえず入れるのにおすすめです。SonarLintは厳密ですが、誤報率も高いです。SonarLintがちがちに書くなりルールを無効化するなりしながら記述することになりますが慣れてくると便利です。

  • この記事いいね! (1)