Minaminの日記

趣味を記事にしてる。

VSCodeでC++の環境を作ってみた話。(mac OS)

こんにちは。みなみんです。

今回は、Visual Studio CodeVSCode)でC++の開発ができる環境を作ってみました。

f:id:Minamin1234:20220210211253p:plain

目次

 

経緯

先月
筆者はAtomでの開発環境を作ったばかりでした。

だが、IDEVisual Studioにすっかり慣れてしまっていた筆者はこう思いました。

「やっぱり、InteliSenseが最強なのはVSCodeだよなぁ」と。

 

実は、筆者はVSCodeでの環境構築を過去に何度か挑戦していました。

今までVSCodeを避けた理由としては、デバッグの準備がとてつもなく複雑で煩わしいという記憶があったからです。

何度もググっては挑戦して時々問題に直面してしまって..の繰り返しで、なかなか完成には至りませんでした。

挑戦する度に最後は「IDEVisual Studioでいいや。」って諦めてしまっていました。

(だって、パッケージをインストールするだけだから。)

 

そして今回、せめてmacVSCodeを使えるようにはしたい!と思って、腹を括りました。

試行錯誤で構築方法を模索してきました。

 

そして筆者が模索した結果、今回の環境を構築する方法を見つけました。

 

環境

OS

 

エディター

 

コンパイラ

コンパイラC++コンパイル出来ればなんでも良いです。

 

筆者が選んだコンパイラはg++です。
(<bits/stdc++.h>を使いたかったから)

用途・対象
  • プログラミング初学者
  • 競プロ
  • コンソールアプリケーション

 

コンパイルデバッグで必要な準備

VSCodeコンパイラーのインストール

VSCodeはググってもらって公式からダウンロード。

コンパイラーのインストールは過去の記事にもしていますので、こちらを参照くださいね。

minamin37345.hatenadiary.com

 

拡張機能のインストール

C++を開発するにあたり、あった方が良いものをインストールしています。

コード補充や間違い指摘、シンタックスハイライト等の機能です。

f:id:Minamin1234:20220210161447p:plain

C++開発であった方が良い拡張機能

 

そして、これはC++開発に関係なくVSCodeを使うにあたって便利な拡張機能

日本語化の拡張機能

f:id:Minamin1234:20220210161623p:plain

日本語化の拡張機能

必要なファイル

 

ファイルの作成

次の項目をご覧ください。

 

コンパイルデバッグ

コンパイルデバッグする際には

キチンと、ワークスペースを開きましょう。

「ファイル」→「フォルダを開く」

作業するファイルを選択。※

IDEVisual Studioでいうソリューションみたいな感じ)

そして、コンパイルしたいソースファイルをエディターで開きます。

f:id:Minamin1234:20220210163029p:plain

 

 

ファイル名に空白を入れないようにしてください。

(これが、筆者が一番手こずる原因にもなっていた。)

コンパイルデバッグを開始する。

コンパイルしたいソースファイルを選択し、エディターを開いてから、

左上から4番目のバグマークから「実行とデバッグ」選択。

f:id:Minamin1234:20220210165049p:plain

実行とデバッグ

C++ (GDB/LLDB)を選択」

f:id:Minamin1234:20220210165315p:plain

 

インストールしたコンパイラーが表示されるので、筆者は「g++-11」を選択しました。

f:id:Minamin1234:20220210165350p:plain

 

launch.jsonが開かれ、デバッグコンソールを開くと出力内容(Hello World!)が表示されています。

f:id:Minamin1234:20220210165450p:plain

 

これで、コンパイルと実行はできました。

 

たったこんだけの事でした...

 

標準入出力を使えるようにする

このままだと、標準入力ができません。

 

コンソールを外部で実行させるようにlaunch.jsonの設定を少しいじります。

f:id:Minamin1234:20220210174008p:plain

 

launch.jsonにある

"externalConsole": false,

"externalConsole": true,

に変更します。

 

保存して、再び実行します。

f:id:Minamin1234:20220210174327p:plain

キチンと実行されました。

 

細かい話

注意点
  • ディレクトリ名に空白や日本語、特殊文字を含んではならない。
    • ファイル名「/あああ aaa/main.cpp」はアウト

もし、空白を含めてしまうと...

f:id:Minamin1234:20220210174954p:plain

コンソール上に変な文字列が並ぶ

ディレクトリが途切れている事もわかります。

 

これが、一番筆者を悩ませていた所です。

 

 

 

この記事に誤りがあるかもしれません。その辺はご了承ください。

本記事で紹介されている方法・手法はあくまでも個人的なものです。