サイドボタンと音量を上げるボタンで画面は撮れます。ただ、写っているものがコードなら、それはほぼ確実に望んだものではありません。

スマートフォンでコードを撮ると、ステータスバーもアプリのUIも、たまたまその位置だったスクロール位置も一緒に入ります。そして本当に台無しにするのが、コードに必要な幅ではなく端末の幅が写るという点です。長い行はシャッターを切る前からすでに折り返されるか切れています。端末が勝手に決めた妥協を撮っているのです。

直し方は iPhone でもどこでも同じです。画面からではなく、テキストから始めること。

そもそもコードを端末に持ち込む問題

これが正直なところの障害で、たいていのガイドは飛ばします。Mac ならコードはすでにそこにあります。端末には、たいていありません。

実際には次の 4 つのどれかで届きます。

  • クリップボード。 ユニバーサルクリップボードのおかげで、Mac でコピーしたものは 1 秒後には iPhone にあります。圧倒的に多いのがこれです。
  • 自分宛のメッセージ。 Slack、メッセージ、あるいはメモ。
  • ファイル。 iCloud Drive やファイルアプリのものを開いてコピー。
  • その場で書いた。 まれですが、iPad のコードエディタなら十分ありえます。

4 つとも行き着く先は同じです。コードは端末上のテキストになり、貼り付けを待っている。重要なのはその状態だけです。

コードを描けるものに貼り付ける

Codeshot は iPhone でネイティブに動きます。ペーストボタンが入口のすべてで、タップすればクリップボードがハイライト済みのコードになります。

Codeshot(iPhone)の「ソース」タブ。上にライブプレビュー、下に行番号つきエディタ、判定された言語とペーストボタン

言語は 60 種類の中からコード自体をもとに判定され、短い断片であいまいなときは隅の選択で上書きできます。C の 3 行と C++ の 3 行は、どんな判定器から見ても同じに見えるからです。上のプレビューは操作に合わせて更新されるので、書き出される画像は今見ているものそのものです。

テキストから始めるからこそ、幅は端末ではなくあなたのものになります。結果がスクリーンショットに勝つ理由の大半は、この一点です。

コントラストのあるテーマを選ぶ

シンタックステーマは 30 種類、それぞれにライトとダークがあります。

Codeshot(iPhone)の「デザイン」タブ。描画されたコードの下にテーマの選択と背景のスウォッチが並ぶ

端末上ではこの選択がデスクトップ以上に効いてきます。しかも多くの人の予想とは逆方向にです。選ぶのは、原寸で読んで気持ちのいいテーマではありません。他人のフィードの中で縮小されても耐えるテーマです。コントラストの高いテーマは小さな文字を支えます。淡いライト系は構造を失います。

背景はウィンドウの後ろに敷かれます。macOS の壁紙、92 種類のグラデーション、単色、あるいは透過で書き出したいなら背景なしも選べます。

出す先に合わせてサイズを決める

ほとんどのコード画像がつまずくのがここで、しかも操作はひとつだけです。

Codeshot(iPhone)の「アスペクト比」パネル。オリジナル、1:1、4:3、3:2、16:9、9:16、2:3、3:4 の選択肢

オリジナルのままなら、画像は内容に合わせて決まります。比率に固定すれば、その形になるよう余白が足されます。出す先が決まった枠に切り取る場合はこれが正解です。タイムライン投稿なら 16:9、縦型フィードなら 9:16 か 3:4、コードが短くて正方形に近いなら 1:1。

迷うなら、プラットフォーム別のサイズガイドが出し先ごとにまとめてあります。

短くする

スマートフォンで読める上限は 10 行から 15 行くらいです。読む相手もスマートフォンなら、この制約は二重に効いてきます。

貼り付ける前に、主張を支える部分まで削ってください。どうしても前提が要るなら、先頭のコメント 1 行が周辺のコード 20 行よりよく働きます。

書き出して共有する

書き出すと画像はそのまま iOS の共有シートに渡されるので、もともと向かうつもりだった先へ直行します。メッセージ、Slack、投稿の下書き、ファイル、写真ライブラリ。

ファイル名にはタイトルと作成した瞬間がミリ秒まで入って返ってくるので、書き出したものが何かを上書きすることはありません。

それでもスクリーンショットにできないこと

どの方法にも当てはまるので、はっきり書いておきます。画像はコピーできず、検索もできず、スクリーンリーダーでも読めません。眺めるためではなく使うためのコードなら、画像と並べてソースへのリンクを載せてください。

これはコード画像に反対する理由ではありません。それを唯一の写しにしないための理由です。

一度の購入で、両方の端末に

Codeshot は Mac でも iPhone でも同じアプリで、購入は一度きりです。テーマも書き出し設定も、どちらの端末でもあなたのものです。

主に Mac で作業するなら、デスクトップでの一連の流れがフレーミングと書き出し倍率をより詳しく扱っています。先に無料の選択肢を比べたいなら、iPhone 向けコードスクリーンショットアプリがほかに何があるかをまとめています。