LoginSignup
13
12

More than 5 years have passed since last update.

自動インデントに任せて行を割りまくったけどやっぱり元に戻したいとき便利なショートカット

Posted at

PhpStorm (IntelliJ IDEA系全般) の Ctrl+Shift+J (Mac) の話です。

エディタの自動インデント機能、改行一発でコードが整って便利ですよね。

return0.png

return1.png

return2.png

return3.png

ただ... 改行じゃんじゃん入れて整形してる最中は気持ちいいんですが、うまいこと名前短くするリファクタがキマったりして、やっぱりここは同じ行にまとめたスタイルに戻したい、ってなることもあります。

IntelliJ系のバックスペースは賢くて、まさにこれの逆順で、勝手にインデント取っ払ってもとに戻る感じです。すばらしい。

return2.png

delete キーだけで

return1.png


でもね、でもね... あっち行ってバックスペース、こっちいってバックスペース... と、ちまちまカーソルを動かすのがつらい。しょうもないかもしれませんが、この程度のことが面倒くさいと思うのがプログラマーなんですよね。

そんなときはこれ:

IntelliJ IDEA 2016.2 Help :: Joining Lines and Literals
PhpStorm 2016.2 Help :: Joining Lines and Literals

こうして

sel-j-0.png

Ctrl+Shift+J

sel-j-1.png

じゃーん

こういうふうにしても

sel-j2-0.png

Ctrl+Shift+J

sel-j2-1.png

じゃーん

こういうのも

sql0.png

Ctrl+Shift+J

sql1.png

このとおり。

あ、ちなみにバックスペースだとこのありさま... 文字列は構文じゃないので賢いバックスペースでもだめですね。

sqlbs.png


さーて、ほんとにやりたいのはここからですよ。

まとめてどーんと結合じゃなくて、どこを結合したいかを丁寧に考えたいとき、ありますよね。範囲選択せずに使うのがこいつの本来の機能です。

この行は次の行と合体したいなーと思う行にカーソルがいる状態で、

j0.png

Ctrl+Shift+J 合体

j1.png

そのままカーソル移動操作せず、さらに連打

j2.png

閉じカッコのほうも合体 (ここはバックスペースでもいいけど)

j3.png

選択範囲を Alt+↑ の連打で (構文構造的にきっちり) 広げて

j4.png

いじったとこだけ Reformat Code (Cmd+Alt+L)

j5.png

こういうカッコがネストしたコードの整形、PHPでは (もしかしたらJSのほうが...まあどっちにしろそのへんのWeb開発で) よくある操作パターンだと思います。カーソル移動ちまちまやっててイラッと来たときにどうぞ。

13
12
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
13
12