エディタの選択文字列を任意のサイトで検索
phpファイルを編集しているとき、関数名でPHPマニュアルを検索したくなるので、
ファイルの拡張ごとにURLを指定してブラウザを開くスクリプトを作りました。
search_with.sh
convert_url()の部分で拡張子に対応するURLを設定しています
case $EXTENSION in
'php' ) URL='http://php.net/search.php?lang=ja&show=quickref&pattern=%s';;
'hs' ) URL='http://www.haskell.org/hoogle/?hoogle=%s';;
* ) ;;
esac
定義されていない拡張子の場合はデフォルトのサイトになります。
URL='https://www.google.com/#q=%s'
PHPマニュアルでは検索する際に関数名での _ (アンダーバー)が -(ハイフン)になるので
convert_word()で検索文字列を変換しています。
case $EXTENSION in
'php' ) WORD=`echo "$WORD" | tr _ -` ;;
* ) ;;
esac
好みの設定を追加して使ってください。
設定
スクリプトを任意の場所に置いてから
IntelliJのメニューから Preferences -> External Tools
「+」ボタンでダイアログを開き、以下のように設定します。
Tool Settingsだけ重要です。その他の項目は任意に設定してください。
Tool Settings:
Program: /path/to/search_with.sh ※スクリプトを置いた場所
Parameters: "$SelectedText$" $FileExt$ "/Applications/Google Chrome.app"
※Parametersの3つ目の値はブラウザアプリケーションのパスです。
設定を適用して完了。
使い方
エディタの文字列を選択した状態で右クリック。
Show in: で指定したメニューにツール名が現れるのでクリック
または
Preferences -> Keymap で任意のショートカットを指定。
エディタの文字列を選択した状態でショートカットキーを入力。
課題
- 文字列選択が面倒なので、カレットのある場所のワードを$SelectedText$に取りたい
- Javascriptの関数名検索ができるよいサイトあったら教えてください
応用
似たような処理で変数名を英語辞書検索するツールも作りました。
search_english.sh