IDEA14.1のIDE Scripting Consoleって何ね?って聞いたら教えてもらった

Toolsメニューにある「IDE Scripting Console」。思わせぶりにあるのにHelpにもWhat's Newにも載ってないので「何これ?」って聞いてみた。


そしたら,これを教えてもらった。


超かんたんに説明するとLivePlugin本歌取り。まだだいぶ荒削りなので使える機能とは言い難い。

わかった事はこう。

  • IDE Scripting Consoleを使うとIDEの内部処理にちょっかいかけられる(マクロより強力で,プラグインより手軽)。
  • IDE Scripting Consoleに記述したコード片はCtrl+Enterで評価される。何も選択してなければ現在行,選択していれば,その内容が評価対象になる。
  • IDE Scriptingと同じディレクトリに.profile.language-extensionというファイルを用意しておくと(IDE起動時かな)自動的に読み込まれる。


教えてもらったgistにあるコード:

action("TryMe!", "alt shift P") { e->
  e = PSI_ELEMENT.from(e)
  res = e != null &&  finds.canFindUsages(e)
  IDE.print("can find usages of '" + e +"'? " + (res ? "Yes!" : "Nope"))
}

これらは,同じgist内にある.profile.groovyが用意されている前提で動く。個人的には,せめてこいつくらいは標準で用意しておいて欲しい。

名前からだいたい機能は想像していたのだけれど,また完成度ではLivePluginに軍配が上がる感じ。これから様子みてIDEA15あたりで花咲くんだろうか...。

Asciidoc試してみた

markdownより表現力あって、Sphinx(ReST)以外のマークアップ方法ないかなと思ってasciidocを試してみた。

asciidocそのものはPython実装らしく、MacだとHomebrewでインストールできる(Ruby実装のasciidoctorてのもあって、こっちはgemからインストール可。


Windowsだとインストールめんどいのかなぁ」と調べていたらGradleのプラグインを発見した。
GitHub - asciidoctor/asciidoctor-gradle-plugin: A Gradle plugin that uses Asciidoctor via JRuby to process AsciiDoc source files within the project.


これ使うと、Gradleの実行環境さえあればすぐasciidoc使える事がわかった(内部で、JRubyつかってasciidoctor呼んでるみたい。


こんな build.gradleと。

buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.2'
  }
}

apply plugin: 'org.asciidoctor.convert'


asciidoctor {
  backends = [ 'html', 'html5', 'docbook' ]
  resources {
    from(sourceDir) {
      include 'images/**'
    }
  }
}

こんなディレクトリを用意する。


あとは、こんなコマンド実行すればドキュメントを生成してくれる。手軽で大変便利。

$ ./gradlew asciidoctor


asciidoc、markdownより表現力あって興味を惹かれたのだけれど、以下の部分でsphixに敵わなかった。

  • book styleの構成の作り方がわかんなかった
  • text生成が、htmlをlynxw3m使ってるので物理改行だらけで実用的じゃ無い。

そんなわけで、今度はRe:VIEWに挑戦してみる(どれもダメならsphinxに戻れば良し。

[IDEA] Mac版IntelliJのJREバンドル版を調べてみた

Windows版のみJREバンドル版があるのだけれど、実はEAPページにMac版もJREバンドル版があるのだよ。いろいろあって「Experimental(実験)」扱いなんだけど。


IDEA EAP 14.0.2RCが出たついでに、どんなもんかと中身を確認してみたら、こんなだった。


Windows版と同じく、jreディレクトリに起動用JREが入っているのだけれど、そこはMac版、Windowsよりちょっと構造がメンドくさい。既存のJDKから自作するのは、ちょっと手間かも。


Info.plistの中身もみたら、JREバンドル版のJVMOptionsのJVMVersionはこうなってた。

<key>JVMOptions</key>
<dict>
    :
  <key>JVMVersion</key>
  <string>1.6+</string>
    :


通常版は1.6*なので、この設定もあってはじめて自前のJREが使われるのだろう。ちなみにバンドルされてるJREは1.8だった。


この場所にJRE置くと起動用に使うってのは、IntelliJ(とその類型IDE)の仕様なので、Windowsに限らずLinuxとかでも似たような事すりゃ使えるんだと思う。Linux版なら、ほぼWindowsと同じ構成でいけるんじゃないかな(やったことないけど)。

IDEA14のProject Settings、どこいったん?


EAPではだいぶ前からProject Settingsは無くなってます。
IntelliJ IDEA 14 EAP 138.1980.1 is Out | IntelliJ IDEA Blog


去年の今頃、こんなエントリ書いて「その次のIDEA14からはモニタを縦置きにしないとスクリーンショットも撮れなくなるかもしんない。:-P」とか言ってただけに「そう来たかw」な対応だった。
IntelliJの設定画面の歴史 - marsのメモ

んで、これがIDEA14の設定画面。


とは言え、長年 Project Settingsに慣れているから、今のPreferencesが使いづらいったらない。設定項目名だいたい覚えているから検索して難を逃れているけど、最近使いはじめたユーザにとっては迷惑千万な話だろうなーと。

ps.
他のJetBrains系IDEがどうなってるのか把握しきれていないけど、そのうちIDEA14に追従してくはずなのでお楽しみに。:-)

逆方向へのインクリメンタルサーチは無いです

標準の機能ではできません。心当たりのあるプラグインも無かったはず。
「Edit → Find → Find...」で検索ワードをタイプしている間は順方向へのインクリメンタルサーチにしかならない。

バックスペースの動きがクソうぜぇのは「Backspace smart indent」のせい


設定画面の「Editor / General / Smart Keys」にある「Backspace smart indent」をOFFにするとよい。

Gitでタグのpushができるようになったはず


スクリーンショットを見る限りではpushできそうなふいんき(IDEA14 EAP RC3)