17
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

QtAdvent Calendar 2015

Day 5

【Qt Creator】Alt+Enterを使おう!

Last updated at Posted at 2015-12-05

QtAdventCalender5日目の記事です。

私は気に入ったIDEを使い込むのが趣味なので、今回はQtCreatorについていろいろ紹介します。
1記事でまとまらないのでカレンダーが空いてたらいろいろ書きます!

#Alt+Enterでできること
QtCreator上でAlt+Enterとすると状況に応じてさまざまなアクションを行えます。
便利なので活用しましょう!

宣言から定義を追加する

ヘッダファイルに宣言を書いたあと、実装ファイルに定義を追加できます。
非常に便利。

便利度 ★★★
2015-05-20_11h19_14.png

ちなみに逆もできます。
実装を書いてからヘッダに追加。
スロットの場合とかに楽かも。
2015-05-20_11h25_32.png

Setter/Getterを追加

変数Xに対するSetXとGetXを追加できます。
これも非常に便利。

便利度 ★★★
2015-12-05_19h07_57.png
(でもときどき命名規則が…)

インクルードを追加

クラス名からインクルードを自動検索して追加してくれます。
自作クラスでも有効ですが、例えばqDebug()に対しては残念ながら無効です。クラス名じゃないので。
やはり非常に便利。

便利度 ★★★
2015-05-20_11h20_27.png

継承した関数を追加

継承した関数はいちいち書かなくても細かく指定して作成してくれます。
状況によってはかなり役に立ちます。

便利度 ★★

2015-12-05_19h18_45.png2015-12-05_19h18_29.png

実装の移動

ヘッダに書いた実装をcpp側に移動できます。
cpp開くのが面倒でヘッダに書いたときとか、簡単な実装だからヘッダに書いたけど複雑化してきたってときには便利。
逆にインライン化したくなったとかでcppからヘッダに移すのもOKです。

便利度 ★★
2015-12-05_19h29_49.png

##その他いろいろ
###16進数などの変換
書いてる部分によっては良く使う。
2015-05-20_11h28_54.png

###1行ifを括弧付きに直す
普通はコードフォーマットとかで全自動するはず。
2015-05-20_11h26_40.png

###引数として抽出する
2015-05-20_11h27_21.png
↓ 実行結果
2015-05-20_11h27_30.png

###引数の順番を入れ替える
2015-05-20_11h23_39.png

###ポインタの宣言に変更する
でも使ってる場所の.を->になおしてくれないのでいまいち。
2015-05-20_11h23_16.png

その他いっぱいあります。
バージョンアップごとにじわじわと便利になっていて、不満があった場所が最新版で直っていることに気づくと嬉しいです。
3.3くらいでまとめた文章を元に3.6RC1で実験しつつ補間しました。

QtAdventCalender2015次回はtaura_noさんの画面レイアウトについての記事になります。

##参考
公式のリファクタリング機能マニュアル(英語)
http://doc.qt.io/qtcreator/creator-editor-refactoring.html

17
17
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
17
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?