読者です 読者をやめる 読者になる 読者になる

しおしお

IntelliJのあれやこれや

JetBrainsのUpsource触ってみた(インストールから起動まで)

JetBrainsさんの新製品のUpsource(リポジトリブラウザとコードレビューツール)をちょっと触ってみた。インストールから起動確認までのやったことメモ。 ダウンロード 現時点では、EAPしかないのでUpsourceのサイトからEAPをダウンロードします。 他の製品…

IntelliJ IDEAでJavaDoc生成を追記

JavadocってどうやってAPIドキュメントにするの?って思って調べてみたらお手軽だった - そこに仁義はあるのか(仮)にまさかのIntelliJからJavaDoc生成がなかったので書いてみた。 tool -> Generate JavaDoc...を実行する。 JavaDoc生成するためのオプション…

僕のProductivity Guide

僕のIntelliJさんのProductivity Guideを晒してみる。一ヶ月ぐらい前に環境クリアにしたから、ここ一ヶ月ぐらいの内容だけど、 IntelliJさんにかなりお世話になってるのがよく分かる。多く使っている機能は、やっぱり補完に関連するものが多いかな。 逆に使…

IntelliJ IDEA14の名前付き引数みたいなコード折りたたみ機能

IntelliJ IDEA14のEAPがでたのでインストールしてコード眺めてたら、メソッドの引数が名前付き引数みたいに表示されるようになってた。 (Groovyのコンストラクタで使えるやつのイメージ)この機能は、コードの折りたたみに地味に設定が増えていて、メソッド引…

IntelliJを使ってfor文をforEachに置き換えしてみた

IntelliJのStructural Replaceでfor文をforEachに置き換えてみた。メニューのEdit -> Find -> Replace Structurally...で、「Structural Replace」を開く。 置き換え前、置き換え後のテンプレートには以下を設定する。 Search template for ($type$ $var$ : …

IntelliJ IDEAでファイルを新しいタブで開く方法

IntelliJ IDEA系のIDEで、ファイルを新しいタブで開くの面倒みたいなツィート流れてきたので、ちょっとプラグイン作ってみた。ワールドカップ見ながら適当に作った感じなので、正直かなり雑に仕上がってますが。一応、こちらからダウンロードできるようにな…

IntelliJ13.1にアップデートしたらもっさりで悲しかった

IntelliJ IDEAを13.1にアップデートしたら、めっちゃもっさりし始めてとっても悲しかった。しばらくは耐えながら使ってたんだけど、メモリ不足とか言われて悲しくなって真剣に調べてみたら、 .idea/workspace.xmlが32Mにも膨れ上がっててこれが原因ぽいこと…

IntelliJ IDEAで作業時間を記録しよう

Time Trackingプラグインを使うことで、タスクごとの作業時間を記録できるようになります。 (確かバージョン12.1あたりで追加されたプラグインだったような気がしています。) Time Trackingプラグインを有効にする Task Managementプラグインもセットで有効…

IntelliJさんのChromeプラグインが進化してた

IntelliJ IDEAを13.1EAP(ビルド:134.1007)にあげたら、Chromeプラグイン(Live EditプラグインやJavaScriptのデバッグなんかで使うやつ)が進化してた。 使い方はざっとこんな感じ。 Chromeでデバッグ実行したいページを開いて「Inspect in IDEA」を実行 コ…

IntelliJでLombok

この投稿はIntelliJ IDEA Advent Calendar 2013 - Qiita [キータ]の23日目の投稿です。IntelliJでProject Lombokを使うための手順などなどです。※IntelliJ13.0.1を使っています。 Lombokプラグインをインストールする プラグインは設定画面からインストール…

Gradleで実行したテストが失敗した場合にJenkinsジョブをunstableにする

Gradleで実行したテスト(JUnit)が失敗すると、Jenkinsジョブがfailして結構困ってたけど、 testタスクの「ignoreFailures」を「true」にしてあげれば良いらしい。http://stackoverflow.com/questions/8343871/mark-gradle-build-unstable-in-jenkins-when-j…

IntelliJのキーマクロで少し幸せに

組み合わせてよく使うコマンドは、キーマクロを使うと割りと簡単に使えるようになる。例えば、カーソル上の変数が使われている箇所を検索したい場合、「Highlight Usages in File」でハイライト表示してあげてから「Find Next」してあげないといけないので多…

Gradle書くのをちょっと便利にするIntelliJのプラグインが使い物にならなくなってた件

IntelliJ IDEA 13 Beta(132.1045)を入れてみたら、Gradle書くのをちょっと便利にするIntelliJのプラグイン作ってみた - しおしおの雑記帳と同じことが、公式のGradleプラグインで出来るようになってた・・・公式のGradleプラグインでできることは、画像のよ…

IntelliJのTerminalウィンドウでもNyaosを使おう

IntelliJ IDEA13から使えるようになったTeminalウィンドウだけど、Windowsだとcmd.exeが使われるのでちょっと嫌だ。 という訳で、nyaosを使うように変更してみた。 変更手順 1. Settingsウィンドウを開く(デフォルトのショートカットキー→Alt + Ctrl + s)2.…

Gradle書くのをちょっと便利にするIntelliJのプラグイン作ってみた

Gradleのdependencies書くときMavenリポジトリ検索して、コピペして書いてくのだるかったので、 Basic CompletionでMaven検索して候補に表示してくれるプラグインを作ってみたよ。 できること Ctrl + Space(Basic Completion)すると、下の画像のように候補を…

GradleのFinalizer tasksを試す

Finalizer tasksを使うと、タスク終了時に指定したタスクを実行出来るようになる。 例 この例の場合、hoge1タスクが終了するとhoge2タスクが実行されます。 task hoge1 << { println 'hoge1' } task hoge2 << { println 'hoge2' } hoge1.finalizedBy hoge2 …

IntelliJ IDEA 13で指定パス内から検索がちょっと便利になってた件

IntelliJ IDEA 13(ビルドNo:130.1486)でファイル内から検索ってしたら微妙にオプションが増えてた。コメントないや文字列リテラル内のみを対象に検索(置き換えもオプションは一緒)出来るみたい。今のとこ、このオプションが必要になるようなシーンはなか…

お父さんになりました

7/11に長女が生まれました。2000グラムと大分ちっちゃく生まれてちょっと心配しましたが、生まれた時の体重を超え先日無事に退院できました! まだ基本寝てるだけですが、めちゃくちゃかわいいです!早速親ばかっぷりを発揮して、rails4で赤ちゃんの成長記録…

IntelliJ IDEA13で内蔵サーバを使ったJavaScriptのデバッグ

IntelliJ IDEA13(build130.962で確認)で、内蔵サーバを使ったJavaScriptのデバッグか可能となったので、その手順を簡単にメモってみます。 デバッグ対象のJavaScriptを読み込むHTMLを作成する JavaScriptをデバッグするためには、htmlが必要となるのでJavaSc…

IntelliJ IDEA13EAP(build130.754)でGradleプロジェクトの作成

IntelliJ IDEA13(現時点ではまだEAP)でGradleなプロジェクトを作る方法。 build.gradleの作成 IntelliJでプロジェクトとしたいディレクトリを作成し、そのディレクトリ直下に「build.gradle」を作成する。IntelliJでのプロジェクト名は、このディレクトリ…

IntelliJ IDEAの設定をAndroid Studioに引き継ぐ方法

Android StudioにIntelliJ IDEAの設定を引き継ぐ方法です。Android Studioの初回起動時に、過去のバージョンの設定を引き継ぐかどうかのダイアログが表示されます。 このダイアログで、下の画像のように「I want to import〜」を選択し、IntelliJ IDEAのホー…

KotlinのGradleプラグイン

KotlinのGradleプラグインがあるらしいので試してみました。Gradleのbuildスクリプトサンプルは、以下のKotlinのサイトに上がっています。 Kotlin Build Tools - Kotlin - Confluence サンプルbuildスクリプト buildscript { repositories { mavenCentral() …

IntelliJのLive Templateの内容をプレビュー表示するプラグインを作ってみた

id:masanobuimaiさんの呟きを見て、IntelliJではLive Templateのプレビュー機能がないことを知ったのでプラグインでどこまで出来るか頑張ってみたよ。*1 プレビューの表示方法 Live Templateの候補選択時に、Quick Documentationをするとプレビュー表示され…

IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する(しおしお版)

IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - Shinya’s Daily Report Re: IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - marsのメモ mike、mikeなるままに…: IntelliJ IDEAで…

IntelliJ IDEA12.1のEAPがきたよ

IntelliJ IDEA12.1のEAPがきてたので、地味に変更入った機能を幾つかまとめてみました。 GroovyでもQuick Fixからローカル変数が抽出できるように 私が以前行ったpull request(IntelliJ IDEA CEにpull requestをしてみたお話 - しおしおの雑記帳)が取り込ま…

JetGradleのリフレッシュでメモリ関連のエラーが出た場合の対処方法

JetGraidleのリフレッシュで以下エラーが出た場合の対処方法。 Refresh failed: Could not fetch model of type 'IdeaProject' using Gradle installation 'D:\gradle-1.4'. Unable to start the daemon process. This problem might be caused by incorrect…

IntelliJ IDEA CEにpull requestをしてみたお話

以前Groovy版のIntroduce local variableつくってみたよ - しおしおの雑記帳で紹介した、GroovyでもQuick Fixでローカル変数を抽出するやつをIntelliJ CEにpull requestして、なんとかmasterにマージしてもらうことができました。 いつになるのかはわかりま…

IntelliJ IDEA12ででJPQLの補完する

NetBeans 7.2.1でJPQLの補完するー — 裏紙のIntelliJ IDEA版。メソッド名の補完。NetBeansと同じ感じですね。しおしお的には、「c」すら入力するの面倒なんで、「Q」で補完したりもするかな。 では、JPQLの補完の数々を・・・ fromも・・・ Entity名も・・・…

Groovy版のIntroduce local variableつくってみたよ

ちょっと前(多分JetBrainsな勉強会の時)にTwitterで「GroovyだとIntroduce local variableできないんだよね」なつぶやきを見かけたので作ってみたよ。 使い方 使い方はJavaと同じでQuick Fix(Alt + Enter)でローカル変数の抽出ができるようになってます。 …

IntelliJでSphinxドキュメントを書いてみよう

IntelliJでSphinxを使う手順のまとめ。 前提 IntelliJでSphinxを使うための必要な下記のモジュールのインストールができていること。 Python Sphinx IntelliJのPythonプラグイン IntelliJにPythonプロジェクトの作成 Sphinxを利用するためには、Pythonプロジ…

現実逃避で久しぶりのKotlin

炎上からの現実逃避でKotlin書いて見ました。書いて見たのは、project eulerの最初の問題です。1から999までの値の中で、3と5で割り切れる値の合計を求めよ的なやつですね。回答はこちら単純に、数値のレンジからfilterかけて、その結果を集計してる感じです…

IntelliJ入れたらまず何しよう?

休日出勤中のしおしおです。炎上案件に係ると大変ですね。IntelliJの75%オフでIntelliJユーザがかなり増えたみたいなので、導入編的なものを書いてみました。一部ちょっとあれなのも含まれていますが。。。 IDEAVimの導入 やっぱりVimでしょってことでvimプ…

IntelliJのLanguage Injectionを調べてみた(続編)

相変わらず炎上中のしおしおです。年末年始はなんとか31から3まではお休みできそうです。なぜか4から11まで休みなしの出勤になっていましたが・・・本題のIntelliJのLanguage Injectionの続編です。前回の記事は、IntelliJのLanguage Injectionを調べてみた …

IntelliJのLanguage Injectionを調べてみた

特定のメソッドの引数を別言語(SQLや正規表現、JavaScript)として扱う機能のLanguage Injectionについてのまとめ。Language Injectionの設定は、「Settings」->「Language Injections」にあります。 デフォルトでも、これだけの設定がされています。 例え…

第一回 JetBrainsユーザーグループ #jbugjに参加出来なかったお話

IntelliJな呟きに積極的にからむしおしおです。IntelliJユーザなので当然JetBrainsなお勉強会申し込みました。 @yusukeさんのムチャぶりでIntelliJ使うと幸せになれる?よってお話することにもなっていました。なのに、突然大炎上プロジェクトに打ち込まれま…

IntelliJ IDEA12でPlay2.0

大炎上プロジェクトでウンコードに悩まされているしおしおです。IntelliJ IDEA12でサポートされたし、楽しそうだからPlayしてみました。ってことでIntelliJでPlayプロジェクト作成から実行までの流れをまとめてみたよ。 Play2.0プロジェクトとして新しいプロ…

TypeScriptもやっぱりIntelliJだよね

JetBrains IntelliJ IDEA Blogにあるように、IntelliJ IDEA12(build 122.694)でTypeScriptがサポートれました。現状は、ファイルタイプが対応している程度で、コンパイル(JavaScript)への変換や型チェックなどは対応していないようです。ただ、せめてIDE上…

IntelliJのタスクからRedmineのチケットページヘ簡単アクセス

Redmineから作成したタスクからチケットページヘ簡単にアクセスする方法。Redmineからのタスク作成はこちら→RedmineとIntelliJを連携してソースコードの変更管理 - しおしおの雑記帳 設定手順 Settings -> Version Control -> Issue Navigationへ移動して、…

Grailsでデータベースに初期データをセットアップする方法

データベースに初期データをセットアップするには、BootStrap.groovyでドメインクラスを使用してデータのセットアップをする。以下のようにinitで、ドメインクラスを使用してデータをセットアップする。 この例では、Quoteにデータが存在していない場合には…

SugarjsのAPIがすごいと思った

SugarjsのAPIがすごかった。何がすごいって、API上のサンプルコードを編集できて、その場で結果を確認できることなんだよね。Javaだと、APIみながらこの場合ってどうなんの??って思ったらクラス作って、main関数定義して・・・ってやらないとイケないから(…

RedmineとIntelliJを連携してソースコードの変更管理

RedmineとIntelliJを連携してソースコードの変更管理を行う方法。 Redmine側の設定 APIのアクセスキーを取得します。下の画像のように、個人設定->APIアクセスキーから取得できます。 APIのアクセスキーが表示されない場合は、管理者にRESTアクセスを有効に…

ソートマップ(TreeMap)のキーの等価性

ソートマップ(java.util.TreeMap)を使用した場合、キーの等価性の判断にはequalsではなくComparable#compareToの結果が使われます。 *1 これは、 Map (Java Platform SE 6) の規約に違反していますが、TreeMapのドキュメントにはMapの規約に違反していること…

金魚本6章のサンプルコード

金魚本(Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava)の6章のサンプルコード。IntelliJを使ったことが原因なのかよくわからないけど、書籍通りではEJBの自動テストが全く動かせなかったので、本のコードと変えた部分をまとめてみました。…

IntelliJのStructural Searchでfail文のない異常系テストコードを抽出

IntelliJのStructural Searchを使用してJunitの異常系のテストコードでfail文が無いコードを検索してみました。TDDやってたら、そんなことにならなくね???との意見があるかもしれないけど、残念ながら現実はそうはなっていないもので・・・ 現実がこうな…

IntelliJのコード補完の設定など

IntelliJのコード補完は意外と複雑?なので使い方などまとめました。バージョン14での最新情報をまとめなおしてみた IntelliJ IDEA14でのコード補完を整理してみた - しおしお(´・ω・`) IntelliJ IDEA14でのコード補完を整理してみた - しおしお(´・ω・`) …

MacとIntelliJの組み合わせで日本語文字化けに悩まされた件。

文字化けの詳細は、下のリンク先のチケットを参照してください。 A Japanese argument is garbled with the Java application of MacOS. : IDEA-90778この問題を回避するためにまず行ったのが、IDEA_HOME/Contents/Info.plistのVMOptionsに、「-Dfile.encodi…

IntelliJのその機能使ってる?

IntelliJの各機能をどれぐらい使っているかを見ることができます。 他にも、コード補完でどれぐらいの文字入力をしないですんだのかとかも教えてくれます。私は、1日辺り1.3K程度の文字入力を削減できているらしいです。土日は会社に来ていないので、実際は…

Bouncy Castle Crypto APIsを使って電子署名付きメール送信

Bouncy Castle Crypto APIs(The Legion of the Bouncy Castle Java Cryptography APIs)というOSSを使って、電子署名つきのメール送信を試してみました。以前OracleのSMIMEでもで試した時の記事はこちら→OracleSMIMEとJavaMailで電子署名つきメールの送信 - …

IntelliJ12でJDK8のlambda

IntelliJ12 EAP(build:122.202)でJDK8のInspectionが使えるようになったみたいなのでお試ししてみました。 Check lambda support in IntelliJ IDEA 12 EAP build 122.202 | JetBrains IntelliJ IDEA Blogの内容を試してみただけとも言いますが。。。 環境準…

お題:package-info.javaの一括生成をIntelliJプラグインで解いてみた

お題:package-info.javaの一括生成 - No Programming, No Lifeのエントリーを見てチャレンジしてみました。 すでに、複数の言語でやってる人がいたので、絶対誰もやらないであろうIntelliJプラグインで作ってみてました。 プラグインのコード 説明は、コメ…