MacOS CatalinaでVisualStudioCodeの環境設定【競技プログラミング(C++)】
はじめに
今年はなんとなく新しいことを始めたいなと思ってたところ、Google入社エントリというのを発見。面白いので読んでみたらその中で「競技プログラミング」というのが出てきたのでググってみた。この際C++も勉強してみようということでとりあえず、環境設定からだろう。VSCodeの設定の仕方を記載。
Xcodeのインストール
Homebrewを使うにはCommand line tools for Xcodeが必要。
xcode-select --install
Homebrewのインストール
ここからコピペでインストール
https://brew.sh/index_ja.html
brew --version // version確認
brew doctor // 問題をチェックしてくれるコマンド
// Your system is ready to brewと表示できればok
gccのインストール
MacOSは標準でC++のコンパイラのClangが既に入ってるが、
C++の標準ライブラリの集合体であるbits/stdc++.h
が使えない。
実務レベルでは微妙らしいが、競技プログラミングではこれを使用出来る方が効率が良い。
んで、gcc
はこれが使えるので、切り替える作業が必要。
brew install gcc
// clang(実体)のままになっている
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++
// 切り替え
ln -s /usr/local/bin/gcc-10 /usr/local/bin/gcc
ln -s /usr/local/bin/g++-10 /usr/local/bin/g++
// gccが実行されるようになる
which gcc
/usr/local/bin/gcc
which g++
/usr/local/bin/g++
VSCodeダウンロード
Downloadはこちらから
https://azure.microsoft.com/ja-jp/products/visual-studio-code/
プラグインのインストール
Code Runnerの設定
実行結果を確認したい場合、上記の「▷」を押下して確認出来るようにしたいので、下記の設定をする。
command + Shift + p
でsetting.json
入力後、Open setting(JSON)
を開き下記を追加する。
"code-runner.clearPreviousOutput": true,
"code-runner.runInTerminal": true,
Code-Runner: Run In Terminalの設定
INSALLEDでCode Runner
の右に「歯車アイコン」があるのでExtension Settings
を選択。
下部の方にCode-Runner: Run In Terminal
があるのでチェックを入れる。
tasks.jsonの作成
command + Shift + p
でTasks: Configure Task
を入力して適当にtasks.json
を作成する。ファイルが自動生成された後にエディター画面に表示され、タスクランナーの構成表示される。
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++ debug build",
"command": "/usr/local/bin/g++",
"args": [
"-O0",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/local/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
コピペで上書きしておく。
launch.jsonの作成
デバッグメニューを開きRun And Debug
を押下してlaunch.json
の作成をする
C++(GDB/LLDB)
を選択すると自動で作成される。これで使えるようになる。
{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "lldb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "C/C++: g++ debug build"
}
]
}
※ もし、作れない場合はこれをコピペで貼り付ける。
#include<bits/stdc++.h>が使えない問題を解消
ls -la /usr/local/Cellar/gcc/10.2.0_2/include/c++/10.2.0/x86_64-apple-darwin19/bits/stdc++.h
/usr/local/Cellar/gcc/10.2.0_2/include/c++/10.2.0/x86_64-apple-darwin19/bits/stdc++.h
cd /usr/local/include/
cp /usr/local/Cellar/gcc/10.2.0_2/include/c++/10.2.0/x86_64-apple-darwin19/bits/stdc++.h .
自分のインストールしているVersionによってPATHは異なるので確認は必要。
こちらでVSCodeを再起動して使えるようにする。
コードを書いて右上の「▷」を押下すると自動でEditerのTerminalが立ち上がり結果が表示される。
入力する場合は、Terminalに入力して結果を表示される。
コンパイルがうまくいかない時
突然Debug機能が使えなくなることがあり、頭を悩ませていました。
collect2: fatal error: cannot find 'ld'
直し方としてはsetting.json
で指定している
下記がfalse
だったのをtrue
にした。
"terminal.integrated.inheritEnv": false
参考記事
Author And Source
この問題について(MacOS CatalinaでVisualStudioCodeの環境設定【競技プログラミング(C++)】), 我々は、より多くの情報をここで見つけました https://qiita.com/atsutama/items/3cb4b2813e70ac1df821著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .