IntelliJ IDEAをもっず䟿利で䜿いやすく ã€ãŸãšããŒã¡ãªèš­å®šã‚„、䟿利な機胜を现かに解説したす。

Javaの統合開発環境であるIntelliJ IDEAの人気が高たっおいたす。興味はある方や䜿い始めたばかりの方に向けお、぀たずきがちなポむントや、地味だけど䟿利な機胜などを、IntelliJ IDEA関連の著䜜も倚い今井勝信さんが玹介したす。

IntelliJ IDEAをもっず䟿利で䜿いやすく ã€ãŸãšããŒã¡ãªèš­å®šã‚„、䟿利な機胜を现かに解説したす。

IntelliJ IDEAむンテリゞェむ・アむデアは、JetBrainsが開発・販売しおいるJavaの統合開発環境IDEです。最初に登堎したのは2001幎ず叀く、しばらくマむナヌIDEずしおひっそり存圚しおいたしたが、ここ数幎で知名床も䞊がっおきたした。

近幎の人気も盞たっお、IntelliJ IDEAの玹介蚘事や“最初のずっかかり”的な入門蚘事は数倚く芋かけるようになりたした。機胜玹介や初心者向けのHow Toはそちらにゆずり、本蚘事では现かすぎお、もしくは面倒くさすぎお、入門蚘事ではあたり觊れられない郚分を取り䞊げたす。

ちょっずややこしい補品䜓系やラむセンスの話、そしお継続的に情報収集するために圹立぀情報源をはじめに玹介したす。その埌で、IntelliJ IDEAを䜿い始めたずきに぀たずきがちなポむントや、地味だけど䟿利な機胜を玹介したす。

本蚘事のタヌゲットは、IntelliJ IDEAに興味はあるけれどただ䜿っおいない人や、䜿い始めおみたけど今ひず぀良さが分かない方です。すでにIntelliJ IDEAを掻甚しおいる人には耳タコな内容かもしれたせんが、もしかしたら新たな気づきがあるかもしれたせん。

蚘事を読み進めおいただく前の泚意点

本皿は、Windows版のIntelliJ IDEA 2019.2.3 Community Editionを䜿っお詊した結果を基に執筆しおいたす。文䞭によく「蚭定画面の」や「を蚭定」ず蚭定に関する説明が登堎したすが、この蚭定画面Settingsダむアログの名称は、Mac版ではPreferencesです。

開き方も異なっおおり、WindowsではFileメニュヌ→Settings、Mac版はアプリケヌションメニュヌ→Preferencesです。Welcome画面ではメニュヌバヌが衚瀺されおいないので、画面右䞋のConfigureからSettingsMac版はPreferencesを遞んでください。

1

IntelliJ IDEAは有償のIDE

前述したずおり、IntelliJ IDEAはJavaの統合開発環境です。昔はよくEclipseやNetBeansず比范されたしたが、最近ではVisual Studio Codeず比べられるこずが倚いようです。

こういったIDEやテキスト゚ディタずの最倧の違いは、有償であるこずです。有償であるこずはデメリットに捉えられがちですが、以䞋のように有償ならではのメリットもありたす。

  • アップデヌトが頻繁にある
    • バグ察応が早い
    • OSやSDKなど呚蟺環境の察応も早い
  • 暙準構成で十分䜿える
    • 远加のプラグむンをほが必芁ずしない
    • 远加するずしおも公匏プラグむンで網矅できる

開発ツヌルは無償なのが圓たり前ずいう颚朮のなか、名だたる無償ツヌルたちず競い続けお20幎近くも生き残っおいるのも、有償であるこずのメリットを蚌明しおいるのかもしれたせん。

IntelliJ IDEAには、䞀説に「850%の費甚察効果ROIがある」そうですが、筆者が10数幎䜿い続けた経隓ず照らし合わせおも、あながち間違っおいないず思っおいたす。

IntelliJプラットフォヌムのIDEたち

IntelliJ IDEAはJavaを䞻力に据えたIDEですが、開発元のJetBrainsではJava以倖の蚀語向けのIDEも提䟛しおいたす。これらのIDE矀は、もずもずIntelliJ IDEAが持っおいた機胜を切り出したり、IntelliJ IDEAをベヌスIntelliJ プラットフォヌムず呌ぶに開発されたりしおいるため、どのIDEが䜕の蚀語をサポヌトしおいるのか少々分かりづらいです。

次の衚は、IntelliJプラットフォヌムIDEの補品ず、それぞれが暙準でサポヌトしおいる蚀語の䞀芧です。IntelliJ IDEAに右端のプラグむンを远加するこずで、GoLand、PhpStorm、PyCharm、RubyMineず同等の蚀語をサポヌトできたすWebStormずDataGrip盞圓の機胜は暙準で組み蟌たれおいたす。

補品 サポヌトする蚀語 察応プラグむン
IntelliJ IDEA Java、JavaScript、Groovy、Kotlin、SQL ─
AppCode Objective-C、Swift、JavaScript、SQL なし
CLion C、C++、JavaScript、SQL なし
DataGrip SQL 暙準
GoLand Go、JavaScript、SQL Goプラグむン
PhpStorm PHP、JavaScript、SQL PHPプラグむン
PyCharm Python、JavaScript、SQL Pythonプラグむン
Rider C#、JavaScript、SQL なし
RubyMine Ruby、JavaScript、SQL Rubyプラグむン
WebStorm JavaScriptSQLサポヌトなし 暙準

ぱっず芋はIntelliJ IDEAが最もお埗な感じですが、AppCodeSwift、CLionC/C++、RiderC#盞圓の蚀語サポヌトはできたせん。より詳しい情報は、JetBrainsの補品ペヌゞで調べるこずができたす。

2 JetBrainsが提䟛するすべおの開発者ツヌルず補品

Googleが提䟛しおいるAndroid Studioも、IntelliJプラットフォヌムのIDEです。Android StudioはGoogleが管理しおいるため、バヌゞョン衚蚘やリリヌスサむクルが、このセクションで玹介するものずは異なりたす。

有償ず無償

JetBrainsが提䟛しおいるIDEはだいたい有償ですが、IntelliJ IDEAずPyCharmには無償版Community Editionがありたす。無償版ず区別するため、有償版をそれぞれIntelliJ IDEA Ultimate Edition、PyCharm Professional Editionず呌びたす。

有償版ず無償版の違いをざっくり説明するず「サヌバサむドの開発支揎機胜がない」こずです。IntelliJ IDEAでは、Tomcatなどのアプリケヌションサヌバや、Spring Frameworkなどの䞻だったフレヌムワヌクの開発支揎がありたせん。JavaScriptサポヌトもなく、できるこずがかなり限られおいたす。

「Kotlinだけやりたい」「Scalaがやりたい」など、目的がハッキリしおいるなら無償版でもかたいたせんが、そうでなければ有償版を䜿った方がよいでしょう。

バヌゞョン衚蚘ずリリヌスサむクル

バヌゞョン衚蚘はYYYY.R(.m)圢匏で「2019.1」ずか「2019.2.1」のように衚したす。最初のYYYYは芋おのずおり「幎」で、それ以倖の意味は以䞋のずおりです。

衚蚘 説明
R その幎のメゞャヌリリヌス回数
m マむナヌリリヌス回数

このような衚蚘にした理由は、Rider、WebStromなどのIDEがどのバヌゞョンのIntelliJ IDEAをベヌスにしおいるか分かりやすくするためです。䟋えば、Rider 2019.2ずIntelliJ IDEA 2019.2は、同じIntelliJプラットフォヌムだずいうこずが分かりたす。

メゞャヌリリヌスは34カ月の頻床で行われたす。「2019.1」から「2019.2」はマむナヌアップデヌトに芋えたすが、別のメゞャヌバヌゞョンです。メゞャヌバヌゞョンが異なるず、内郚的には別のアプリケヌションずしお扱いたす。

マむナヌリリヌスはバグ察応が䞻で、リリヌス頻床は䞍定期です。早いずきは1週間くらいでリリヌスされたす。

これ以倖にも、最新バヌゞョンには早期アクセスプログラムEarly Access Program、EAPずいう開発バヌゞョンがありたす。EAPは次のメゞャヌリリヌスに向けた新機胜の詊䜜などを含む、䞍安定なバヌゞョンです。最新版だず思っおほいほい付いおいくずヒドい目に遭うので気を぀けおください。

ラむセンスの皮類

有償版のラむセンスは、幎曎新・月曎新のサブスクリプション方匏です。12カ月連続で䜿甚するず、サブスクリプション期限が切れおもラむセンス賌入時の最新バヌゞョンの䜿甚暩が残るので、買い切り方匏の特城も持っおいたすフォヌルバックラむセンス。

ラむセンスには䌁業向けのコマヌシャルラむセンスず個人向けのパヌ゜ナルラむセンスの2皮類がありたす。パヌ゜ナルラむセンスは、䌚瀟の経費で買っおもらえない開発者の救枈を目的にしおいるので、コマヌシャルラむセンスず比べるずかなりお安くなっおいたす。

お安いずいっおも1䞇円以䞊するので、ためらうには十分な倀段です。30日の詊甚期間もあるので、自分にずっお倀段分の䟡倀があるかどうかを刀断しおから賌入を決意した方がよいでしょう。ラむセンスは、JetBrainsや日本代理店のサムラむズムから賌入できたす。

「有償、有償」ず繰り返されおりンザリしおいる人もいるかもしれたせんが、無償で䜿えるラむセンスもいく぀かありたす。ひず぀は孊生や先生向けの教育ラむセンス、もうひず぀はオヌプン゜ヌスプロゞェクトの開発者向けのオヌプン゜ヌスラむセンスです。申請条件・曎新頻床・適甚範囲など、いく぀か制限がありたすが、条件に該圓する人は申し蟌んでみるのもよいでしょう。

ラむセンスは、IDEごずに賌入したす。前述したずおり、IntelliJプラットフォヌムのIDEは数倚くあるので、どれを賌入すればいいのかが悩みのタネになりたす。䜿う蚀語が倚岐にわたり、どれかひず぀に絞り切れない方は、JetBrainsのIDEが党お䜿えるAll Products Packを怜蚎しおみおください。

頌りになる情報源 ── 日本語でも読める公匏サむトなど

JetBrainsが提䟛しおいる情報が䞀次情報源です。ここたでで玹介したJetBrainsのリンク先に蚪れた人はお気づきかず思いたすが、JetBrainsの公匏サむトは日本語で読めたす1。「海倖補品なので英語は苊手」ず臆しおいるなら、それは杞憂です。

䞻だった機胜は、補品玹介ペヌゞの「新機胜」や「機胜䞀芧」で確認できたす。これはスクリヌンショットや動画も豊富なので、芋おいるだけでも楜しめたす。

3 IntelliJ IDEAJetBrainsによるプロ開発者向けJava IDE

JetBrainsのサむトはほが日本語察応されおいたすが、蚘事執筆時点でサポヌト情報はただ英語のたたです。日本語によるサポヌト情報が必芁なら、サムラむズムのサむトを参照するずよいでしょう。

4 JetBrains – 株匏䌚瀟サムラむズム

公匏ヘルプ

IDEそのものの䜿い方や機胜の説明に぀いおは、ヘルプを読むのが最も正確で分かりやすいでしょう。ヘルプに関しおは、幞いなこずに公匏の日本語版もありたす日本語化の詳现はこちらを参照。

5 IntelliJ IDEAをむンストヌルする - 公匏ヘルプ | IntelliJ IDEA

ヘルプでは、䞋図のようにヘッダのShortcuts:をクリックするず、IDEにプリセットしおあるキヌマップを遞択できたす 2 。ここを各自が䜿っおいるキヌマップに倉曎すれば、ヘルプ本文に蚘茉されおいるショヌトカットキヌもそのキヌマップに準じたす。

6

本蚘事では、極力ヘルプぞのリンクを貌り付けるので、この機䌚にヘルプに慣れ芪しんでみるのもよいでしょう。

日本語ヘルプは䟿利なのですが、党お日本語になっおいるためメニュヌや蚭定項目の察比がいささか面倒です。そこで、こんなブックマヌクレットを䜜っおみたした。

JetBrains⇔Pleiades

䞊のリンクをブックマヌクバヌにドラッグするず、英語ヘルプず日本語ヘルプを簡単に切替えるこずができたす゜ヌスは次のようになっおいたす。

if(location.host == 'www.jetbrains.com') {
  location.href = location.href.replace('www.jetbrains.com', 'pleiades.io');
} else if(location.host == 'pleiades.io') {
  location.href = location.href.replace('pleiades.io', 'www.jetbrains.com');
}

日本語の曞籍

数は少ないのですが日本語の曞籍がいく぀か出おいたす。せっかくの機䌚なので、筆者も関わった2冊を玹介させおいただきたす。

  • サムラむズムの山本裕介@yusukeさんずの共著
  • 同瀟で定期的に行っおいるハンズオンの内容をたずめた入門曞籍
  • 前半は入門者向けで、埌半はUltimate Edition固有の専門的な内容

  • Android Studioず冠しおいるが、実䜓はIntelliJ IDEAのリファレンスガむド
  • おそらく䞖界で唯䞀のIdeaVIMの解説本

なお、曞籍は情報がたずたっおいお䟿利ですが、出版日から時間が経過するほど内容が叀くなっおいくのが難点です。ご自身が求めおいる情報が茉っおいるか十分吟味しお、賌入するかどうか決めおください。

なぜなら、IntelliJ IDEAはバヌゞョンアップのたびに、メニュヌや蚭定項目の名称や配眮がこっそり倉わるこずがたたあるからですヘルプが「最も正確」ず前述した理由のひず぀。

その他の情報源

よく読むずだいたいのこずは曞いおあるので、ヘルプや曞籍をじっくり読むのは楜しいのですが、倚くの人は「IDEの操䜜・機胜を知りたい」のではなく「IDEを䜿っお快適に開発したい」ので、IDEのこずを調べるのに時間をかけたくないのが実状でしょう。特に「できないこず」はヘルプには曞いおいないので、調べるのは骚が折れたす。

そのような人たちに最も適しおいるのは、詳しい人に聞くこずです。䟋えば、Twitterで「IntelliJ」ずいうキヌワヌドを付けお知りたいこずを気軜に぀ぶやくずいいでしょう。私を含めたIntelliJ IDEAナヌザはお節介が奜きなので、䜕かしら反応しおくれたす。

IntelliJ IDEAのむンストヌル

このセクションからは、IntelliJ IDEAの具䜓的な特城や機胜を玹介しおいきたす。たずはむンストヌルです。むンストヌル方法は䜕通りかありたすが、Toolbox Appを䜿う方法をおすすめしたす。

7 JetBrains Toolbox Appツヌルを簡単に管理

Toolbox Appは、Windowsのタスクトレむや、Macのメニュヌバヌに垞駐するアプリケヌションランチャヌです。このツヌルを介しお、IntelliJプラットフォヌムIDEのむンストヌルやアップデヌトができるため、䜕かず䟿利です。

8

䞋図のようなアプリケヌションごずの蚭定画面歯車アむコンのSettingsからは、バヌゞョンを固定する・アップデヌトを安定版のみにする、などが蚭定できたす。

9

むンストヌルした埌の初回実行時に動くセットアップりィザヌドは、デフォルトを遞択しおいけば特に぀たずくこずはないでしょう。セットアップ埌に気を぀ける点を、いく぀か列挙しおおきたす。

開発環境の確認ず蚭定

䞀般的に統合開発環境ずいえば「それさえむンストヌルしおおけば、埌は䜕もいらない」ずいうむメヌゞがあるかもしれたせんが、IntelliJ IDEAに関しおは圓おはたりたせん。

IntelliJプラットフォヌム党般に蚀えるのですが、このIDEは察象ずなる開発蚀語の゚コシステムに乗っかるこずを前提にしおいるずころがありたす。぀たり、SDKやビルドツヌルなど、すでにこのIDEがなくおも開発できる環境があった䞊で、それらを統合できる環境を甚意する圹割を担っおいるずいった感じです。

平たくいえば、むンストヌルしただけではJavaの開発環境はできあがっおいたせん。次の3぀が別途必芁です。

  • JDK必須
  • ビルドツヌル必芁に応じお
  • バヌゞョン管理システムのコマンド必芁に応じお
実を蚀うず、最近のIntelliJ IDEAは、はじめからJDKが蚭定枈みなのでむンストヌル盎埌からすぐに開発ができたす2019.2.3のWindows版で確認枈み、Mac版では未蚭定。

JDKの確認ず蚭定

IntelliJ IDEAにJDKが蚭定枈みかどうかは、以䞋の手順で確認できたす。

  1. Welcome画面の右䞋のConfigureからStructure for New Projectsを遞ぶ
  2. Project StructureダむアログのPlatform Settings→SDKsにJDKが蚭定されおいるかを確認する
10

JDKが蚭定されおいなければ、ヘルプの手順を参考に、各自で蚭定しおください。

Windows版
SDKsにJava 11が登録枈みのはずです。これはJBRJetBrains Runtimeず呌ばれるOpenJDK互換のJDKで、IntelliJ IDEAの起動に䜿われたす。䞍満がなければそのたたJBRを䜿っおもよいのですが、気になる人はOracle JDKなりOpenJDKなりを蚭定した方がよいです。
Mac版
同じようにJBRがバンドルされおいるので、蚭定さえすれば利甚できたす。JBRは、IntelliJ IDEAアプリケヌション内のContents/jbr/Contents/Homeにありたす。
11

「ずりあえずJavaで開発しおみたい」皋床であれば、ここたでJDKが蚭定枈みで準備完了です。JDKそのものが未むンストヌルの堎合は、JDKを入手するずころから頑匵っおください。このあたりが、初心者の最初の挫折ポむントになりたす。

Toolbox AppからむンストヌルしたMac版IntelliJ IDEAは、<HOME>/Library/Application Support/JetBrains/Toolbox/apps/の䞋にありたす。Macのファむルダむアログでラむブラリフォルダぞ移動する方法が分からない堎合は、⇧ ⌘ Gを抌しおください。図のように移動したいフォルダを盎接指定できたす。

12

ビルドツヌルやバヌゞョン管理システムの準備

ここは少し螏み蟌んだ内容なので、読み飛ばしおも倧䞈倫です。

プロゞェクトのビルドにビルドツヌルを必芁ずするかどうかはIDEの利甚ず関係がないため、芁吊を䞀抂に決めるこずはできたせん。今回の蚘事では「気になる人や必芁な人だけ別途むンストヌルしおいただく」皋床の理解で十分です。

ビルドツヌルよりも、バヌゞョン管理システムの方が必芁性は高いでしょう。IntelliJ IDEAから利甚するには、Gitを䜿うのであればgitコマンド、Subversionを䜿うならsvnコマンドが別途必芁になりたす。「そんなのIDEに内蔵されおいるんじゃないの」ず思われるかもしれたせんが、前述したずおりIntelliJ IDEAは呚蟺の゚コシステムを掻甚するため、入っおいたせん。

これらのコマンドにパスPATHが通っおいれば、そのたた䜿えるようになりたす。そうでなければ、ヘルプGit、Subversionを参考にしお蚭定したしょう。初心者には第2の挫折ポむントになるず思いたすが、成長の機䌚だず思っおがんばっおください。

IntelliJ IDEAが極力独自実装を控え、既存の゚コシステムここではgitやsvnなどのネむティブコマンドを利甚するのは、呚蟺ツヌルずの互換性を最倧限に保ずうずする思想からです逅は逅屋に任せる。

必芁があればプロキシサヌバの蚭定

最近のツヌルはむンタヌネットに接続しおいるこずを前提ずしおいるものが倚く、IntelliJ IDEAも䟋に挏れたせん。職堎や孊校など、むンタヌネットに接続するのにプロキシサヌバを経由する必芁がある堎合は、IntelliJ IDEAにもその蚭定をしたす。

プロキシサヌバの蚭定は、蚭定画面のAppearance & Behavior→System Settings→HTTP Proxyにありたす。

なお、初回起動時のセットアップりィザヌドの最埌に「おすすめプラグむンの蚭定」があるのですが、プロキシサヌバを介さないずむンタヌネットに接続できない環境では、なすすべなく芋送るしかありたせん。あきらめおください。

補足がひず぀ありたす。このプロキシサヌバ蚭定は、IntelliJ IDEAにのみ適甚されたす。IntelliJ IDEAが内郚的に䜿っおいるビルドツヌルmavenやgradleなどや、Gitなどバヌゞョン管理システムのコマンドには適甚されたせん。それぞれのツヌルに応じたプロキシサヌバの蚭定を行っおください。

必芁があればナヌザむンタヌフェヌスの日本語化

Eclipseの日本語化で有名なPleiadesプラグむンはIntelliJ IDEAにも察応しおいるため、これを適甚するこずでナヌザむンタヌフェヌスやヘルプが日本語化されたす。あたり知られおいないように思えるのですが、これが公匏の日本語化の方法です。

13 Pleiades - Eclipse、IntelliJ などの日本語化プラグむン

ひず぀泚意点がありたす。IntelliJ IDEAをむンストヌルした盎埌に日本語化するず、初回のセットアップりィザヌドがスキップされたす。日本語化は、セットアップりィザヌドの蚭定が枈んでから適甚しおください。

Pleiadesプラグむンのむンストヌルには、IntelliJ IDEAのパスを指定したす。Toolbox Appでむンストヌルした堎合、パスはちょっず分かりにくい堎所にありたす。

Windows
C:\Users\<ナヌザ名>\AppData\Local\JetBrains\Toolbox\apps\の䞋のbinディレクトリにあるidea64.exe
Mac
<HOME>/Library/Application Support/JetBrains/Toolbox/apps/の䞋のIntelliJ IDEA CE

WindowsのAppDataディレクトリは隠しディレクトリなのですが、䞋図のようにファむルダむアログに盎接パスを指定すれば移動できたすMacはファむルダむアログで⇧ ⌘ G。

14

英語より日本語の方が抵抗感が薄れるのは確かですが、いく぀か䞍䟿さもあるので、日本語化するかは各自の刀断に任せたす。代衚的な䞍䟿さは、以䞋の3点です。

  • Find Actionで怜玢するアクション名が日本語になり、英語で怜玢できない
  • 日本語のメニュヌ名や蚭定項目名があたり知られおいないため、ネット䞊の情報の怜玢性が䜎い
  • Git操䜜のたびに、ログのタブが無尜蔵に増える2020幎1月10日修正最新版のPleiadesでは修正枈みでした。詳しくはcypher256/pleiades.io Issue #29を参照しおください

いずれ解消されるものもあるず思うので、Pleiadesの問題トラッカヌをチェックしおおくずよいでしょう。

知っおおいおほしいIntelliJ IDEAの特城

IntelliJ IDEAには、䞀般的なアプリケヌションずは異なる特城がいく぀かありたす。もずもずはプログラマに察する芪切さや気遣いからそうなっおいるのですが、ずきに初芋殺しず受け取られるこずがありたす。

利甚者が悪印象のみを受け、利甚を断念しおしたうのは正盎もったいないこずです。どんなものにも理由や原因がありたす。この堎を借りお、察凊法を教えたしょう。

残念なデフォルトフォント

IntelliJ IDEA 2019.2.3のWindows版では、Consolasがデフォルトフォントに蚭定されおいたす。䞀芋するず䜕も問題ないようですが、䞋図のように斜䜓Italicで党角文字が衚瀺されなかったり、党角文字ず半角文字の文字幅が埮劙にズレたりしたす。

15

たず、これを盎したしょう。

゚ディタのフォント蚭定は、蚭定画面のEditor→Fontです。ここのFontで、デフォルトフォントを指定したす。Monospacedあたりが無難ですが、芋栄えがよくないのが難点です。できればRicty Diminishedあたりを远加しお、オシャレな気分になりたいですね。

16

デフォルトフォントをMonospacedやRicty Diminishedに倉曎すれば、先ほどの問題は䞊図のように解決したす。䜿っおみたいフォントが他にある堎合は、各自で調敎しおみおください。欧文フォントを詊しおみたいならば、Fallback fontに日本語フォントを指定しおおくずよいでしょう。

Mac版のデフォルトフォントはMenloですが、こちらも埮劙にズレおいるので、気になるならばRicty系に倉曎しおおいた方がよいでしょう。

空癜文字が芋えない

「空癜なのだから芋えなくお圓たり前なのでは」ず思った人は甘い、倧甘ですね。気にしない人はたったく気にならないけれど、気にする人は出来ないず萜ち着かないのが「空癜文字の衚瀺」です。

デフォルトでは非衚瀺になっおいたすが、蚭定画面のEditor→General→AppearanceにあるShow whitespacesをチェックするこずで、䞋図のようにちゃんず空癜文字も衚瀺したす。海倖補のアプリケヌションなのに党角スペヌスを区別しおくれるずころは、奜感が持おたす。

17

衚瀺できる空癜文字は、半角スペヌス・党角スペヌス・タブの3皮類のみで、改行EOLやファむル末尟EOFは衚瀺できたせん。

色が匱くお芋えづらいずきは、Editor→Color Scheme→GeneralのTextWhitespacesで、空癜文字の色蚭定を倉曎しおください。

曞いた芚えのないコヌドが芋える

䟋えば、䞋蚘のようなコヌドをIntelliJ IDEAで線集しおいるず、

Map<Integer, String> map = new HashMap<>();
map.put(0, "value");

List<Map<Integer, String>> list = List.of(map);
long count = list.stream()
                 .flatMap(m -> m.values().stream())
                 .distinct()
                 .count();

䞋図のような情報が衚瀺されたす。

18

このmap.putの匕数の前やlistのストリヌム操䜜の埌ろに出おいるのは、コヌドヒントず呌ばれる情報で、実際に打ち蟌んだコヌドではありたせん。ご芧のずおり色蚭定がコメントず䌌通っおいるため、存圚を知らないず、䟿利ずいうより迷惑に感じるこずが倚いようです。

前者は、蚭定画面のEditor→General→AppearanceでShow parameter name hintsのチェックを倖すず無効になりたす。埌者は、Editor→Inlay Hints→JavaのMethod chainsのチェックです。

パラメヌタヒントは、存圚を知っおいればそこそこ䟿利ですが、コヌドを修正しようずカヌ゜ルを移動しおいるずきが地味にストレスなので、合わないず思ったらすぐ無効にしたしょう。

なお、コヌドヒントの色蚭定は、Editor→Color Scheme→Language DefaultsのInline parameter hintsで倉曎できたす。

賢すぎるBackspace

突然ですが、クむズです。䞋図のように「System.out」の文頭にカヌ゜ルがあるずきにBackspaceキヌを抌すず、カヌ゜ルは(1)(3)のどこに移動するでしょうか

19

答えは(3)です。IntelliJ IDEAでは、いわゆるハングリヌバックスペヌス 3 がデフォルトの動䜜になっおいたす。

この振る舞いに違和感を芚える人は、しっくりくる動きに倉えおしたいたしょう。これは、Editor→General→Smart KeysのBackspaceUnindentで蚭定できたす。遞択肢ずそれぞれの意味は、以䞋のずおりです筆者の奜みはDisabledです。

遞択肢 説明
Disabled 普通のBackspaceキヌになる(1)盞圓
To nearest indent position むンデント単䜍に移動する(2)盞圓
To proper indent position 適切なむンデント䜍眮に移動する(3)盞圓

かなり独特なショヌトカットキヌ

ある皋床䜿っおいるずうすうす気付いおくるず思いたすが、IntelliJ IDEAのショヌトカットキヌは独特の䜓系になっおいたす。特にWindows版が顕著なのですが「普通、この機胜はこのショヌトカットキヌだろう」ずいう連想が通甚しないこずがたたありたす。

䟋えば、倚くのアプリケヌションで「りィンドりを閉じる」になっおいるCtrl+Wが、埌述するExtend Selectionずいう機胜に割り圓おられおいたり、「くり返しRedo」が圓たり前なCtrl+Yが、Delete Lineに割り圓おられおいたす。

これはもう「郷に入っおは郷に埓え」なので、慣れおもらうしかありたせん。

さすがに悪いず思ったのか、最近のIntelliJ IDEAでは、はじめおCtrl+Yを䜿うず「RedoずDelete Lineどっちに割り圓おる」ず聞いおきたす。
20

どうしおもデフォルト蚭定が気に入らないのであれば、Keymap蚭定を倉曎しお、他のキヌマップに倉えおしたいたしょう。プリセットされおいるキヌマップだけでなく、独自にキヌマップを䜜成するこずもできたす。

どのキヌマップにするかは、それぞれ䞀長䞀短があるので、自分の甚途に合わせお遞択しおください。䟋えば、IntelliJ IDEAの他にWebStormやRubyMineなど、耇数のIDEを䜿い分けおいるのであれば、デフォルトのキヌマップに慣れおいた方が䟿利です。Windows版ずMac版の䞡方を䜿う機䌚が倚いのであれば、Mac版は「IntelliJ IDEA Classic (macOS)」にするのが無難でしょう。

Mac版のデフォルトキヌマップ「Default for macOS」は「Macアプリケヌションっぜいキヌマップ」ですが、「IntelliJ IDEA Classic (macOS)」は「IntelliJ IDEAっぜいキヌマップ」ずいう意味で、Windows版のデフォルトに近いキヌマップです。

頻繁にキヌマップを倉曎する堎合のTIPSですが、ViewメニュヌのQuick Switch Schemeを䜿うず、すぐに倉曎できたす。Search EverywhereやFind Actionで「keymap」ず入力しおも同じこずができるので、お奜みの方法でどうぞ。

21

未保存のファむルが分からない

IntelliJ IDEAで線集するファむルは、党お自動的に保存されたすオヌトセヌブ機胜。これも他のテキスト゚ディタやIDEからIntelliJプラットフォヌムに移っおきた人が、戞惑いやすい特城のひず぀です。

オヌトセヌブのタむミングは、「コンパむルした」「プログラムを実行した」「IDEからフォヌカスが倖れた」などです。これは、Appearance & Behavior→System SettingsのSynchronizationである皋床は蚭定できたすが、オヌトセヌブ機胜そのものを無効にはできたせん。

普通のアプリケヌションで芋かける未保存マヌク*や、FileメニュヌのSaveやSave asがないSave Allしかないのは、オヌトセヌブがあるからです。セヌブし忘れるこずから解攟されたすが、意図的に「保存しないこず」を線集のテクニックにしおいる人は戞惑うかもしれたせん。

どうしおも未保存マヌクがないず萜ち着かない人は、蚭定画面のEditor→General→Editor TabsでAppearanceMark modified(*)をチェックすれば、衚瀺できたす。

なお、IntelliJ IDEAのオヌトセヌブでは修正履歎もあわせお保存されおいるので、い぀でも任意の状態に巻き戻すこずができたす。オヌトセヌブの修正履歎は、VCSメニュヌのLocal Historyから確認できたす。この機胜は、Gitなど特定のバヌゞョン管理システムず連携しなくおも、有効になっおいたす。

芋た目を倉えるさたざたな蚭定

最近はダヌクテヌマがはやりですが、IntelliJ IDEAのDarculaテヌマはコントラストがハッキリしおいる方ではないので、人によっおはかえっお芋づらいかもしれたせん。たたフォントサむズも人によっお奜みが分かれるでしょう。

これらの蚭定箇所は各所に散らばっおいるため、捜し圓おるのが䞀苊劎です。

テヌマの倉曎
蚭定画面のAppearance & Behavior→AppearanceのThemeで指定する。プリセット以倖のテヌマはプラグむンずしお提䟛される
ナヌザむンタヌフェヌスのフォントサむズ
蚭定画面のAppearance & Behavior→AppearanceのUse custom fontをチェックしお、Sizeを指定する
゚ディタのフォントサむズ
蚭定画面のEditor→Font、もしくはEditor→Color Scheme→Color Scheme Fontで蚭定する。アンチ゚むリアスはAppearance & Behavior→AppearanceのAntialiasingで指定できる

他に「芋やすさ」に関する蚭定で、知っおおくず䟿利なのはこのあたりです。

  • Appearance & Behavior→AppearanceのAccessibility
    • Use contrast scrollbarsをチェックするず、スクロヌルバヌのコントラストがハッキリする
    • Adjust colors for red-green vision deficiencyをチェックするず、赀緑色芖芚障害の色調敎が行われる芁再起動
  • Editor→GeneralのMouse
    • Change font size (Zoom) with Ctrl+Mouse Wheelをチェックするず、Ctrl+マりスホィヌルでフォントサむズを倉曎できる

テヌマやカラヌスキヌムに凝り出すず抜けられない沌にはたりたすので、ほどほどに。

プラグむンには察象バヌゞョンの指定がある

IntelliJプラットフォヌムの䞭でも、特にプラグむンが豊富なIntelliJ IDEAナヌザは気にしおおいた方がよいこずですが、特定のプラグむンには、察象バヌゞョンが蚭定されおいたす。

察象バヌゞョンは、䞋図のようにプラグむンのポヌタルサむトで確認できたす。

22

この情報を気にしないでいるず「IntelliJ IDEAをアップデヌトしたら、今たで䜿えおいたプラグむンが䜿えなくなった」なんおこずがよく起こりたす。

ScalaプラグむンやRustプラグむンなど、JetBrains公匏の蚀語系プラグむンは察象バヌゞョンを蚭定しおいる傟向が倚いので、利甚しおいる人は特に気にかけおおいおください。無論、時間がたおばプラグむンも远埓しおバヌゞョンアップされたすそれたでに倚少の時間差がありたす。

地味だけど䟿利な機胜

以䞋を芚えおおけば、「これぞIntelliJ IDEA」的な有名機胜やショヌトカットキヌはだいたいマスタヌしたようなものです。

Code Completionコヌド補完
自動補完が有効になっおいるので、ショヌトカットキヌを芚える必芁すらない。Postfix Completionを芚えるずドダ顔できる
Intention Actions
「空気を読む提案」ず呌ばれるサゞェスト機胜で、反応する堎所には䞋線や電球アむコン 23 が付く。Language Injection文字列リテラルやコメントに別蚀語を埋め蟌むのトリガヌでもある
Search Everywhere
クラスやファむル・シンボル・アクション・蚭定項目など、なんでも怜玢するコマンドパレット。TabキヌでFind Actionなど目的別怜玢に移行できるので、このショヌトカットキヌを芚えおおけば十分

これらの機胜は魅力的で芋栄えもよいので、あちこちで玹介されおいたす。ここでは、その圱に隠れお気が぀かないけど、「蚀われおみれば䟿利かも」ずいう機胜を玹介したす。

カヌ゜ルのすり抜け

IntelliJ IDEAでコヌドを曞いおいくず、カッコやクォヌトは入力したそばから閉じカッコ・閉じクォヌトが自動入力されるので、図のような状態によくなりたす「|」はカヌ゜ル。さおこの堎合、どうやっお文末に移動しおセミコロン;を入力したすか

24

カヌ゜ルキヌ→やEndキヌで移動したす いく぀か方法がありたすが、IntelliJ IDEAらしいのは「そのたた");ず入力する」です。タむプ量は枛りたせんが、タむピングのリズムを厩したせん。

次点は、Complete Current Statementです。これも䟿利ですが、ショヌトカットキヌが3぀のキヌコンビネヌションなのが、個人的にはむマむチです。

未遞択状態でCutたたはCopy

カヌ゜ルの䜍眮はどこでもよいのですが、図のように範囲遞択をしおいない状態でEditメニュヌのCutやCopyを実行するず、その行党䜓が察象になりたす。

25

぀たり1行だけなら、行党䜓を遞択しなくおもクリップボヌドぞの切り取りやコピヌができたす。

いろいろなPaste

クリップボヌドの内容を貌り付ける方法にも、EditメニュヌのPaste以倖に䜕皮類かありたす。䞭でもおすすめなのが、クリップボヌド履歎からペヌストPaste from Historyです。

IntelliJ IDEAが起動しおいれば、他のアプリケヌション䞊でクリップボヌドにコピヌたたはカットした内容も、履歎に残りたす。

26

残念ながら、IntelliJ IDEAを終了するず、クリップボヌド履歎も砎棄されたす。

遞択範囲の拡匵

EditメニュヌのExtend SelectionずShrink Selectionを䜿うず、カヌ゜ル䜍眮を起点に良い感じに遞択範囲を広げ瞮められたす。

Windows版のショヌトカットキヌがCtrl+W・Shift+Ctrl+Wず片手で抌しやすいのも盞たっお、慣れるずこれがないず困るレベルで䟿利です。個人的にはむチオシのおすすめ機胜で、これがあるからIntelliJ IDEAを䜿い続けおいるずいっおも過蚀ではありたせん。

ただし、倚くのWindowsアプリケヌションではCtrl+Wは「りィンドりを閉じる」ずしお振る舞うため、これに慣れすぎるず他のアプリケヌションを䜿っおいるずきに䞍幞な事件に遭いやすいのが玉に瑕です。

クリップボヌドずの比范

クリップボヌドの話ばかり続きたすが、そろそろ終わりにしたす。

Viewメニュヌ、たたぱディタのコンテキストメニュヌのCompare with clipboardで、゚ディタの内容ずクリップボヌドの内容を比范できたすdiffをずれる。ちょっずした差分を確認したいずきに、ずおも重宝したす。

゚ディタで範囲遞択した状態で実行するず、比范察象をその範囲に限定するこずもできたす。先ほど玹介したExtend Selectionや、Scratch files/Scratch Bufferず呌ばれる䞀時的な線集領域を組み合わせるず、甚途が広がりたす。

どこでも䜿えるクむック参照

ViewメニュヌのQuick Definitionは実装・定矩の参照、Quick DocumentationはJavadocの参照に䜿う機胜です。゚ディタで䜿うず図のようにポップアップが衚瀺されたすQuick Definitionの䟋。

27

これらの機胜は、なんずなく゚ディタで䜿うものだず思いがちですが、意倖なずころでも機胜したす。䟋えば、ProjectツヌルりィンドりやSearch Everyhereの候補リストなどです。゚ディタを開かなくおもファむルの䞭身を確認できるため、ちょっず芋たいずきなどに重宝したす。

28

あいたいな怜玢

コヌド補完やコマンド怜玢など、IntelliJ IDEAには怜玢したり候補を絞り蟌んだりする機䌚がたくさんありたす。このずき入力するキヌワヌドを完党䞀臎させる必芁はありたせん。頭文字や郚分䞀臎する単語などを適圓に入力するだけで、候補を絞り蟌めたす。

䟋えば「ArrayIndexOutOfBoundsException」ずいうクラスを怜玢しようず思ったなら「arrayindexbounds」や「boundsexception」、極端な䟋では「aiob」ず入力するだけで絞り蟌むこずができたす。

29

このゆるい絞り蟌みはコヌド補完でも効きたすが、コヌド補完のずきは頭文字は倧文字で入力しおください。絞り蟌みのクセに慣れるたでちょっず時間がかかりたすが、慣れるずタむプ量が枛っお楜になりたす。

30
コヌド補完のずきは頭文字を倧文字にしないずダメなのは、蚭定画面のEditor→General→Code CompletionでMatch caseがチェックしおあるからです。

おわりに

「補品䜓系やラむセンス䜓系が理解できた」「䜿いづらいなず思っおいた郚分が解消できた」など、この蚘事が少しでもお圹に立おたら幞いです。たた、IntelliJ IDEAがちょっず気になっおいたけど遠慮しおいたずいう方は、これを機䌚にぜひ䜿っおみおください。

デモ的な芁玠が匷いのですが、IDE Features Trainerプラグむンを䜿うず、今回玹介したような地味機胜をIntelliJ IDEAを䜿いながら䜓隓できたす。Pleiadesプラグむンの日本語化にも察応しおいるので、興味があったらどうぞ。

IntelliJ IDEAに限らず、この手のツヌルは奜みがありたす。至極圓然ですが、合う人には合うけれど、合わない人にはたったく合わないので、流行うんぬんはさおおき、実際に䜿っおみお手になじむかどうかで評䟡するこずをおすすめしたす。

自分に合うツヌルかどうかは、機胜の倚寡よりも䜿っおみたずきのフィヌリングが倧事です。䜿っおみお党然ダメだなず思ったものを䜿い続ける道理はありたせんが、ちょっずでも気に入ったころがあったら、しばらく䜿い続けおみおください。気が぀くず、なくおは困る片腕のようなツヌルになっおいるかもしれたせんよ。

今井 勝信 いたい・たさのぶ 31 masanobuimai 32 masanobuimai

33
システム゚ンゞニア。日本ナニシス株匏䌚瀟所属。著曞に『Android Studio本栌掻甚バむブル 効率的にコヌディングするための䜿い方』2016幎、技術評論瀟『IntelliJ IDEAハンズオン 基本操䜜からプロゞェクト管理たでマスタヌ』共著、2017幎、技術評論瀟など。IntelliJ IDEAが倧奜き。

付蚘・完党なアンむンストヌルの方法

本蚘事にほだされお詊しおみたけど「それほどじゃなかった」ずいう人向けに、アンむンストヌルの手順を玹介しおおきたす。

34

図のようにToolbox Appの歯車アむコンから「Uninstall」を実行すればアプリケヌション本䜓はキレむに削陀されたすが、蚭定ファむルのたぐいは残りたす。この手のファむルを残しおおくず、忘れた頃に再むンストヌルしたら前の蚭定が䜿い回されおデフォルトず異なる振る舞いをした、なんおこずが起こり埗たすそしお、そのこずに気が぀かない。

蚭定ファむルを残しおおいお良いこずはあたりないので、しっかりず削陀しおおきたしょう。䞋蚘のずおり、OSごずに蚭定ファむルの堎所が異なるので、探すずきは泚意しおください####.#はバヌゞョン。

  • Windows、Linuxの堎合
    • ホヌムディレクトリc:\Users\<ログむン名>\たたは~/盎䞋にある.IdeaIC####.#や.IntelliJIdea####.#
  • Macの堎合
    • <HOME>/Library/Application Support/IntelliJIdea####.#
    • <HOME>/Library/Preferences/IntelliJIdea####.#
    • <HOME>/Library/Cache/IntelliJIdea####.#
    • <HOME>/Library/Logs/IntelliJIdea####.#

これできれいサッパリ削陀されたした。


  1. 初皿を線集郚に提出した埌に突然JetBrainsのサむトが日本語察応しお、急いで原皿を修正したのはナむショです。↩

  2. IntelliJ IDEAでは、ショヌトカットキヌのセットを「キヌマップ」ず呌びたす。↩

  3. 䞀連の空癜文字・タブ・改行を䞀気に削陀するこずです。↩

若手ハむキャリアのスカりト転職