【AtCoder,C++,環境構築】手元のPCでプログラムを書こう!
MacOS 15.1
Cursor 0.40.4
Docker Desktop 4.34.2
競技プログラミングのAtCoder用にC++の環境を構築しようと考えている方向けに、誰でもどんなPC環境でも簡単に再現できる、Dockerを使用したAtCoder専用のC++環境を作りました。
私はM3Macを使用している関係で、WindowsやIntel Macなどではパフォーマンスが落ちますが、始めたての方には問題なく使えるレベルと思っています。
もしも環境構築を一から全て行う場合は手順が多く嫌になるかもしれませんが、それぞれの作業はインストールするだけ、など簡単なので興味がある方は頑張って進めてみましょう。
おそらく30分ほどで終えられると思います。少なくとも自分のPC環境で一から作成するよりは遥かに短時間でC++環境を作成することが出来ます。
それではAtCoder用C++環境を使えるようにするための手順を解説していきます。
すでに登録済みかもしれませんが、まだの方はAtCoderのアカウント登録をしておきましょう。
使用するツールの準備
必要なもの
以下の3点が必要になるのでインストールや登録をしていきます。エディタはVSCodeのほうが簡単にインストールできると思うので、不安な方はVSCodeがおすすめです。どちらも無料で使えます。
- DockerDesktop
- エディタ(VSCodeかCursor)
- GitHubアカウント
以下で、それぞれについて詳しく説明していきます。
Docker Desktopの準備
Docker Desktopはこちらのページからインストールします。
使用しているPCに適したものが”今すぐ始める”の横のボタンに表示されるはずなので、それを選べばダウンロードされます。
ちなみに有料版もありますが、無料で使用できます。
ダウンロードしたファイルを開きOKをクリックすると何か始まるので待機。終わったら画面を閉じます。この時、場合によってはPCが再起動されます。
再起動後、もしくはDocker Desktopを起動すると何やらかわいいイラストが出てくるので右下のAcceptをクリック。
続いてこちらの選択肢はそのまま上を選択してFinish。
コンテナ環境を使うだけであればサインインは不要なので右上のSkipを選択します。もし作成するなら下にあるアカウント作成から作ってください。アンケートみたいなものもSkipで問題ありません。
この画面が表示されればDocker Desktopのインストールは完了です。
VSCodeの準備
続いてVSCodeのインストールです。
まずこちらのページからファイルをダウンロードします。Cursorを使いたい方は、他の方が提供している記事を参考にインストールしてください。
自分のPCに対応する大きいボタンをクリックしてダウンロードします。
ダウンロードしたファイルを開くと、いろいろと確認されるので内容を確認した上で次へを選択していきます。最後に完了を選択してVSCodeを開き、下のような画面が表示されればインストールは完了です。
続いてコンテナを使用するための拡張機能をインストールしていきます。左側にある4つの四角形マークのタブ(下の画像参照)を選択します。ここでインストールするのは以下の2つです。
- Japanese Language Pack for Visual Studio Code(任意)
- Dev Containers(必須)
検索窓を利用し、それぞれの拡張機能をインストールします。日本語拡張機能はインストール後に再起動するよう案内が出ますのでそれをクリックし再起動します。
画面左の方のインストール済みのところに2つの拡張機能が表示されればVSCodeの準備は完了です。
ちなみにDev Containersをインストールすると左側にアイコンが追加されますが、あまり使用しないので気にしなくて大丈夫です。
GitHubアカウントを作成する
最後にコンテナ環境をダウンロードするためにGitHubアカウントを作成します。
こちらのページにアクセスし、メールアドレスを入力したら”Sign up for GitHub”を選択します。
以下の4項目それぞれを入力し、Continueをクリックして進めていきます。
- メールアドレス
- パスワード
- GitHubでのユーザーネーム
- お知らせを受け取るかどうか
続いてロボットじゃない事を検証するための画面になるので、これを正しく送信します。
そうするとコード入力画面になります。先ほど入力したメールアドレス宛にコードが記載されたメールが届いているので、そのコードを入力することでアカウントの作成が完了します。
続けてサインインしていきます。
登録したメールアドレスとパスワードを入力して”Sign in”を選択します。
その後色々な質問をされるのですが、これはスキップして問題ありません。下のスキップボタンを選択しましょう。もちろんしっかり答えていってもOKです。
すると、ダッシュボードが表示されます。これでGitHubでコンテナ環境をダウンロードする準備は整いました。
リポジトリからコンテナ環境をダウンロードする
上にあるリンクからAtCoder用コンテナ環境のダウンロードページに移動します。
アクセスしたら緑色の”Code”をクリックし、出てきた画面一番下の”Download ZIP”を選択することでダウンロードできます。
ダウンロードしたファイルをまずは解凍します。
MacではFinderでフォルダをダブルクリック、Windowsではエクスプローラーで”フォルダを右クリック > すべて展開”。展開場所はそのままで”展開”を選択して解凍します。
次にフォルダの名前と配置する場所を変更していきますがWindowsの方だけ注意です。
下の画像は、上がMac、下がWindowsの解凍したときのフォルダ構成なのですが、Windowsの場合、設定によってはダウンロードフォルダに対してフォルダが二重になっています。
名前変更や移動するフォルダはオレンジで囲われている2つめのフォルダなので、間違えないようにしましょう。間違えると次のコンテナ接続でちょっとハマります。
上で説明したフォルダをダウンロードフォルダに置いたままだとよろしくないので、ユーザーフォルダやドキュメントなど任意の場所に移動させると共に好きな名前に変更します。
コンテナ環境へ接続する
ここからいよいよコンテナに接続します。
まずDocker Desktopが起動している事を確認してください。これが起動していなければ、コンテナ環境は使用できません。今後接続する際も毎回確認するクセをつけましょう。
Macは右上のメニューバーに、Windowsは右下のタスクバーに下の画像のクジラアイコンがあれば起動しています。
Windowsの画像では非表示のアイコンメニューに表示されていますが、”タスクバーを右クリック > タスクバーの設定 > その他のシステムトレイアイコン > Docker Desktop”のトグルをオンにすれば、タスクバーに表示させることも出来ます。
確認できたらVSCodeを起動してDev Containersでコンテナに接続します。
色々な方法がありますが、はじめは確実な方法として
Mac:command + shift + p
、
Windows:ctrl + shift + p
でコマンドパレットを呼び出します。そうしたら検索窓が入力状態になるので、>に続けてdevopen
などと入力して”開発コンテナー:コンテナーでフォルダーを開く”を選択します。
続いてフォルダを選択します。この時選択するのが名前を変更したり移動させたフォルダです。そのフォルダをクリックして選択された状態で”開く”をクリックします。
すると、このフォルダが信頼できるか確認されるので、…信頼してください。
コンテナへの接続が始まりますが、はじめてコンテナに接続する際はビルドが行われるので少々時間がかかります。ポップアップをクリックすると下の画像のように処理を見ることも出来ます。
ビルドは設定ファイルをいじらない限り以降の接続では行われないので、時間がかかるのは最初だけです。
ビルドが終わって接続が完了するとエディタ左下に開発コンテナー:atcoder-cpp@desktop-linux
と表示されます。
accとojにAtCoderアカウント情報でログインする
ビルドが終わる頃にログイン確認があります。
まだAtCoderに登録していなかったらこちらから登録しましょう。
もしログイン画面以外のものが表示されたら”ターミナル”タブを選択してログイン画面を表示させます。
AtCoderのアカウント名とパスワード(入力は隠されるのでコピペがおすすめ)をaccとojの2つそれぞれで入力してログインします。また、パスワードはaccとojが直接暗号化して保存しており、私の方ではこのデータを扱う処理は入れておりませんので安心してください。
コンテナ内の拡張機能の追加(自動でインストールされなければ)
最後に拡張機能がインストールされているか確認します。
このコンテナ環境で必要な拡張機能は以下の2つです。
- C/C++
- Task Runner
下の画像のように「開発コンテナー:」の部分に必須の2つの拡張機能が表示されていれば問題ありません。
ここまでで環境構築は終了です!お疲れ様でした!!
Appleシリコンの方は下の作業が必要かもっ!!
もしもない場合は手動でインストールしてください。一応自動でインストールされるようにしているのですが、Appleシリコン(M1,M2,M3)で不具合があるようでインストールされないことがあります。
ここで注意です。Task Runnerは非常に似ているものがもう一つあります。使用しているのはインストール数の少ない発行者forbeslindesayの方なので間違えないようにしましょう。
おわりに
環境の構築お疲れ様でした。使用方法は別の記事で紹介していますので参考にしてください。簡単に使えるのですぐに覚えられると思います。
「競プロ始めよう!!」という初心者の方々の役に立てば幸いです。