はじめに
僕は競技プログラミングやるときのIDEとしてCLionを使っています.周りにCLionを使っている人が多くないので,今回はCLionってこんなに便利だよ!ということを紹介します.
テンプレート機能
VSCodeにも同様の機能があると聞きます.
Settings
→ Editor
→ Live Templates
に登録することで,補完が出てくれるようになります.
例えば,cmd + j
で登録したテンプレート一覧が表示され,union find tree を入力してみます.
他にも,補完時にどの場所にカーソルを入れるかなども指定することができます.
デバッグ
CLionには優秀なデバッグ機能があります.cmd + f8
でブレイクポイントを貼り,debugモードで実行すると1ステップごとに処理を追うことができます.この例では配列aが更新されるところにブレイクポイントを貼り(赤丸です),aの中身をみています.
.
ステップ実行や,ステップ実行中に関数が呼び出された場合はその関数の中に入る→出るといったこともできます.lldbを使っているので,コンソールからも似たようなことはできます.
ファイル単位での実行
競プロではmain()
を一つの問題ごとに用意し,各ファイルを実行して手元でテストケースを試したい時があるかと思います.
こんな感じでたくさんのファイルを一つのプロジェクトに入れると,実行ができません.
そんなときに便利なのがこのプラグインです.実行させたいファイル上で右クリック
→Add executable for single c/cpp file
を選択することによって,単一ファイルごとにmain()
を実行するとができます.(ターミナルからコンパイルして実行しろというのは正論です.)
plugins.jetbrains.com
やっていることは,CMakeListsにexecutableとして登録しているだけなので,手動でもできますがだいぶ楽になります.
ファイルのリフォーマット
速さを意識しすぎてコーディングすると,コードが汚くなりがちですよね??しかしながら,汚いコードは読みにくいのでバグの温床にもなってしまいます.そこで,Reformat Code
というコマンドを使いましょう.デフォルトだと cmd+option+L
です.
自分で設定したコーディング規約に基づいてコードをリフォーマットしてくれます.
肝心のコーディング規約をどう設定するかですが,Preferences -> Editor -> Code Style
でインデントの幅からどこで改行するかまで細かく指定することができます.
最後に
やはり強力な補完や,エラーになりうる箇所を事前に見つけてくれてwarningを出してくれるのはIDEならではの良さがあります.もちろん,他のIDEでもできるでしょうし,他のエディタにはエディタの良さがあると思います.
他にも,debugの時だけフラグを追加して,ローカル環境のみで実行させたい箇所を作るなんてことも可能です. ぜひ自分のお気に入りのCLion環境を作っちゃってください!