LoginSignup
3
4

More than 5 years have passed since last update.

IntelliJ IDEA : 選択した文字列を任意のサイトで検索

Last updated at Posted at 2014-08-01

エディタの選択文字列を任意のサイトで検索

phpファイルを編集しているとき、関数名でPHPマニュアルを検索したくなるので、
ファイルの拡張ごとにURLを指定してブラウザを開くスクリプトを作りました。

search_with.sh

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
「+」ボタンでダイアログを開き、以下のように設定します。

search_with_setting.png

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

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4