見出し画像

IntelliJで思考の速度でコードを書く

HITO-Link CRMのhidakaです!毎日リモートでコードをごりごり書くだけの人生を送っています。(理想だった日々

さて、皆さんIDEは何をお使いでしょうか?VSCode?Eclipse?昨今では様々なIDEが出ていますが僕はIntelliJを使っています。毎年のお布施は少し高いですが、大半の時間をIDE上で過ごすことを考えるとコストパフォーマンスは高いと思います。そんな僕が大好きなIntellJの便利な機能について、今回はご紹介したいと思います。

【注意】
無料版のIntelliJでも今回ご紹介する機能の大半は利用できると思います。しかし、私自身、有料版のIntelliJ Ultimateを利用しているため、無料版では利用できない機能もあるかもしれません。その点ご容赦ください。

IntelliJ超基本機能

どこでも検索

Shift2回を押すことでどこでもなんでも検索する機能。とりあえず、なにか検索する場面になったら、無意識にこの機能を呼び出しているレベルでよく使います。

タイトルなし

空気を読む
これもIntelliJの超基本機能ですがAlt+Enterでいろいろ空気を読んで提案してくれます。よく使う場面としてはwarningやtypo等が出ている部分でAlt+Enterを押すと、warningの改善案を提案してくれたり、flutterの場合Widgetの上でAlt+Enterすると指定Widgetを追加したり削除したりする提案を行ってくれます。

タイトルなし

使ってる人は使ってる?InteliJの便利機能

Bookmarks

「いろんなファイルを横断しコードを参照しつつ、特定箇所を変更する」といった編集方法をすることが僕は多いのですが、編集地点にとりあえず⌘F3でBookmarkを置いておくことで、ファイル横断中でもいざ戻りたいときに、即編集地点に戻ってくることができます。
Vimでいうマーク機能より断然使い勝手が良いです。(マーク機能はマークした場所のアルファベットを覚えておく必要があり、あれを使いこなすのは至難の技でした。しかし、IntelliJのBookmarksはぽんぽん置いて、いらなくなったら全Bookmarkを削除とかできるので、気軽に利用することができます。)

タイトルなし

Switcher

Ctrl+Tabで現在開いているファイルを一覧に表示し、選択することで対象のファイルにアクセスすることができます。たくさんTabを開いている状態で、マウスで対象ファイルにアクセスするのは手間ですし、ホームポジションを崩してマウス操作を行う必要があります。しかし、Switcherを利用することで視認性の高い一覧という形式でホームポジションを崩さず、軽快にファイル移動を行うことができます。

タイトルなし

vimで思考の速度でコードを書く

IntelliJでもIdeaVimと呼ばれるプラグインを導入することでvimでコードを記載することが可能です。

vimはモードが複数別れていたり、コマンドがものすごくあったりで非常にとっつきにくいエディタです。しかし、vimを会得することで尋常ではない速度でのカーソル移動や黒魔術的な編集を行うことができるので、エンジニアであれば会得して損にはならないと思います。(なので、みんなvimやろう!

基本操作以外で以下くらいのコマンドを覚えていれば、かなりの速度でコードを書けるようになるので、以下と基本操作を覚えて、みんなvimmerになりましょう!

【ここらへん覚えておけばvim使えるよコマンド(ここらへんも基本だけど)】
単語単位で進む: w
単語単位で戻る: b
画面半分進む: ctrl + d
画面半分戻る: ctrl + u
対となるカッコに移動: %
指定行へ移動: 行数+shift+g
段落移動: { or }
検索: /
カーソル位置の単語の削除: daw
カーソル位置の単語を削除してその位置から編集モードを開始: ciw

dawとかciwとかは規則性があったりするので、「すべてのコマンドを覚えるぞ!」と意気込まなくても大丈夫です。dawはd(delete)+a(all)+w(word)の略なので、同じくcaw: c(change)+a(all)+w(word)とかもあったりします。少し覚えればあたりをつけて入力できるようvimのコマンドは設計されているので、覚えることは以外と少なかったりします。

基本的な操作を覚えてvimを使いつつ、暇なときに便利そうなコマンドを探してコード記載速度を思考の速度へ近づけていく。

この作業が病みつきになるので、思考の速度でコードを書きたいけど、まだvimを使ったことがないという人は是非vimを使ってみてください。きっといつの間にかvimなしではコードを書くことができない体になりますよw

番外編: vim-plugin【easymotion】

IdeaVimを利用し、vimメインでコードを書いている場合、IdeaVim-EasyMotionをプラグインとして導入してみても良いかもしれません。

これはvimのpluginであるEasyMotionをIntelliJでも利用できるようにしたプラグインです。EasyMotionは数タッチのキー操作で自由自在にカーソルを移動させることができるプラグインで、使いこなすことでホームポジションを崩さずに尋常じゃない速度でカーソル移動を行うことができます。

IntelliJのvim設定を記載できる.ideavimrcを以下のように設定しておくことで、easymotionを便利に使うことができます。

[~/.ideavimrc(設定したらIntelliJの再起動で反映できます)]
" leaderの設定
let mapleader = "\<Space>"

" easymotionの設定
set easymotion
map <leader>w <Plug>(easymotion-bd-w)  " word単位移動
map <leader>s <Plug>(easymotion-bd-f2) " 検索移動
map <leader>l <Plug>(easymotion-bd-jk) " 行移動

easymotionでできることを簡単に説明すると、「スペース, l」や「スペース, w」などを入力することでコード上に文字列が表示されるので、移動したい先の文字列を入力すると、対象の位置へカーソル移動を行うことができるというものです。慣れるとh,j,k,l連打でのカーソル移動から解き放たれます。

タイトルなし

まとめ

IntelliJいかがでしたでしょうか?
自分自身もIntelliJ歴2年目で暇なときにちょろっとIntelliJの便利機能等を調べるくらいで、全くもって使いこなせていない自信があります。
ただ、使えば使うほど熟成されていくといいますか、自分の体の一部になるといいますか。そんな魅力を持ったIDEがIntelliJだと思います。

無料版でも様々なことができるので、「まだIntelliJ触ったことがない」という方は是非IntelliJに触れてみてください。きっと、Eclipseとかに戻ることはできなくなりますよw

▽HITO-Link CRMについて

▽弊社コミュニティのエントリーフォームです


この記事が気に入ったらサポートをしてみませんか?