XcodeのPlaygroundはコードを書いてるそばからその実行結果を視覚的に表示してくれる、インタラクティブなSwiftプログラミング環境です。
コンパイルが必要なプログラミング言語であるSwiftを、書いているコードに対応付ける形で、処理過程〜結果をリアルタイムに可視化してくれるため、ちょっとコードを書いて試したり、試作を行ったり、視覚効果の調整を行ったりするのに便利です。
けれど、勝手にいろいろやってくれすぎると不便なこともある
僕は、よくわからないコードをとりあえず書きながら考えて理解するのにPlaygroundを使うことが多いです。そういう用途で利用していると、僕が無茶苦茶なコードを書いていて、それを自動で実行しようとしたPlaygroundは自滅してしまう(Macに負荷がかかる処理を実行したり、裏でコードの実行を担っているやつがクラッシュしたり、最悪Xcodeがクラッシュしたり)、という事態によくなります。
書き換えた結果が即時反映されるのがPlaygroundの良いところなのかもしれないですが、実行出来ない・無茶苦茶なのは分かりきっている試行錯誤のカオスコードを無理やり実行して自滅されるのも困るので、自分の用途に合うように何とかしてみます。
普通にManually Runできる
画面下の方にあるRunボタンを長押しすると、AutomaticallyとManuallyを選べます。Manuallyにしておけば自動で実行されなくなります。
Manually Runを選んだら、次からは実行したいタイミングでこのRunボタンを押せば良いです。デフォルトではショートカットはありません!
...しかし、実行するためにボタン押すの不便ですよね?
ボタン押すのは不便すぎるのでショートカットを設定する
さっきまではお節介なほどに勝手にコードを実行しまくっていたPlaygroundが、今度はいちいちボタンを押さないと実行されない、ショートカットキーもない不便な代物になってしまいました。
アプリ開発中なら コマンド+R キーでデバッグ実行できます。Playgroundも同様にショートカットで実行したいッ!
というわけでショートカットキーを設定しましょう。デフォルトで割当られたキーがないだけで、ちゃんと設定することが可能です。
Preferencesを開いて
Key Bindingsのタブを開きます。絞り込み検索が出来るので Playground
などと入力すると、すぐに Execute Playground
という項目が見つかると思います。そいつの右の方の空欄をダブルクリックして、 Ctrl+R など適当なショートカットを押して、割り当てを行います。
ちなみにアプリのデバッグ実行に合わせてPlaygroundの実行も Command+R にしたい、と思うところですが、 Execute Playground
と Run
は別の操作に対するショートカットという位置づけなので、 Execute Playground
には Command+R は利用できないです。残念。。
ともあれこれでひとまず、自動実行を防ぎつつ、実行したくなった時はショートカットで簡単に実行できるようになりました。