AtCoder用C++開発環境 (Mac編)

概要

AtCoder用のC++開発環境をMac上に構築します。

(2020/4/5更新:C++17環境に更新しました)

 

OS Mac OS X Catalina
IDE Visual Studio Code
コンパイラ (デバッグ時) : Clang++ (Apple clang)
(テストケース実行・提出時) : G++

 

デバッグ環境をGCCで環境構築しようとするとGDB周りで泥沼にはまったので、Clangでの環境構築となります。
(VSCode上にGDBでいい感じにデバッグ環境を構築できた方、やり方教えて下さい)

このページで記述している内容で環境構築を行うことにより、以下の事ができるようになります。

  • VSCode上でのデバッグ(STLのコンテナの値がちゃんと見れる!)
  • AtCoder問題ページに記載されているテストケースによる動作確認
  • VSCodeのコマンドラインからのコードの提出


デバッグの様子

手順

事前準備

  1. App StoreからXcodeをインストール
  2. Homebrewをインストール
  3. Visual Studio Codeをインストール

GCCのインストール

Homebrewを使ってGCCをインストールします。
シンボリックリンクを貼らないと、g++のフリをした Apple clangが呼ばれてしまうので注意しましょう。

atcoder-cli

コマンドラインからテストケースのダウンロードやコードの提出ができるようになります。

インストール

下記ページに従ってonline-judge-tools及びatcoder-cliをインストールします。

初期設定

各コマンドの内容は下記サイトにて確認してください。

Visual Studio Code

プラグインのインストール

必須

  • CodeLLDB … LLDBを使ってデバッグしたときにSTLコンテナ内を見れるようになります。

(任意)

  • C/C++ … 補完がいい感じに働いてくれます。
  • Code Runner … 動作確認に使用します(ビルド&実行を行います)

各種設定

settings.json

tasks.json

以下の設定を追加します。

  • clang++でのビルドの設定
  • (ついでにG++でのビルドの設定)
  • テストケースの実行
  • コードの提出

AtCoder Libraryを使用する場合はSubmitCodeの部分を以下のように設定します。

 

launch.json

LLDBでのデバッグ設定を追加します。

keybindings.json

「Ctrl + Shift + P」から「>Preferences: Open Keyboard Shortcuts (JSON)」を選択し、下記内容を追加します。

これにより、main.cppを開いているときに各ショートカットによってテストケースの実行、コードの提出が可能となります。

bits/stdc++.h

clang++でもbits/stdc++.hを使えるようにしたいですよね。下記ページの内容を参考にXCodeのincludeフォルダにstdc++.hを追加します。

使い方

  1. TERMINALでacc new (コンテスト名)で対象コンテスト用の作業ディレクトリが作成されます。
  2. A問題のmain.cppを開き、コードを書きます。
  3. main.cppがアクティブのタブとなっている状態で、ctrl+tを押すことでテストケースを実行できます。
  4. すべてのテストケースをpassしたら、ctrl+sでコードを提出します。
  5. 困ったらF5でデバッグ開始。

参考