インストール - VSCode
概要
Visual Studio Code (以下、VSCode) は、Code - OSSリポジトリをベースにMicrosoft独自のカスタマイズが施されており、従来のマイクロソフト製品ライセンスでリリースされている。
コードエディタのシンプルさと、開発者のコアとなる編集 - ビルド - デバッグのサイクルに必要なものを兼ね備えている。
軽量なデバッグ、豊富な拡張性モデル、既存のツールとの軽量な統合とともに、包括的なコード編集、ナビゲーション、理解のサポートを提供する。
VSCodeは毎月アップデートされており、新機能やバグが修正される。
最新のリリースを毎日入手する場合は、Insidersビルドをインストールする。
※注意
VSCodeには様々なテレメトリ機能が搭載されており、端末の情報は逐一Microsoftに送信されている。
たとえ、テレメトリ機能を無効にするオプションを設定しても、なお情報を送信し続けている。 (完全に無効化することができない)
そのため、VSCodeのようなスパイウェアは使用せずに、Codiumを導入することを強く推奨する。
Codiumのインストールを知りたい場合は、インストール - VSCodiumを参照すること。
VSCodeのインストール
リポジトリを登録してインストール
まず、VSCodeのリポジトリと鍵を追加するため、以下のコマンドを入力する。
# RHEL sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' # SUSE sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/vscode.repo' # Mobian / Raspberry Pi - # Manjaro ARM -
アップデート可能なパッケージの一覧を表示する。
# RHEL sudo dnf check-update # SUSE sudo zypper list-updates # Mobian / Raspberry Pi - # Manjaro ARM -
以下のコマンドを入力して、VSCodeをインストールする。
# RHEL sudo dnf update sudo dnf install code # SUSE sudo zypper refresh sudo zypper install code # Mobian / Raspberry Pi sudo apt install code # Manjaro ARM sudo pacman -S --needed --noconfirm base-devel git # AURヘルパを使用して、VS Codeをインストールする前に以下に示すパッケージがインストールされていることを確認する sudo yay -s visual-studio-code-bin # VS Codeのインストール sudo yay -s vscode # VS Code Insidersビルドをインストールすることもできる
codeコマンドがPATH環境変数に含まれているかどうか確認する。
which code
手動でインストール
Microsoftの公式Webサイトにアクセスして、VSCodeの64bitのTarballファイルをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf code-stable-x64-<バージョン>.tar.gz
解凍したディレクトリを任意のディレクトリに配置する。
mv code-stable-x64-<バージョン> VSCode mv VSCode <VSCodeのインストールディレクトリ>
必要であれば、~/.profileファイル等に環境変数PATH
を追記する。
vi ~/.profile
# ~/.profileファイル export PATH="/<VSCodeのインストールディレクトリ>/bin:$PATH"
VSCodeのデスクトップエントリファイルを作成する。
vi ~/.local/share/applications/VSCode.desktop
# ~/.local/share/applications/VSCode.desktopファイル
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/<VSCodeのインストールディレクトリ>/bin/code --unity-launch %F
Icon=com.visualstudio.code
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/<VSCodeのインストールディレクトリ>/bin/code --new-window %F
Icon=com.visualstudio.code
vi ~/.local/share/applications/VSCode-url-handler.desktop
# ~/.local/share/applications/VSCode-url-handler.desktopファイル
[Desktop Entry]
Type=Application
Name=Visual Studio Code - URL Handler
GenericName=Text Editor
Comment=Code Editing. Redefined.
Exec=/<VSCodeのインストールディレクトリ>/bin/code --open-url %U
Icon=com.visualstudio.code
Categories=Utility;TextEditor;Development;IDE;
MimeType=x-scheme-handler/vscode;
Keywords=vscode;
NoDisplay=true
StartupNotify=true
エラー関連
VSCodeの起動時に、以下に示すようなエラーが出力される場合がある。
Writing login information to the keychain failed with error 'GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files'.
このエラーを解決するには、gnome-keyringをインストールする。
sudo zypper install gnome-keyring
スーパーユーザ権限での実行
root権限でVSCodeを実行する場合は、以下のコマンドで実行する。
なお、以下のVSCode-Rootディレクトリは既存のディレクトリなら何でもよい。
code --user-data-dir='VSCode-Root'
C/C++拡張機能
C/C++拡張機能のインストール
- VS Codeメイン画面左の拡張機能のボタンを押下する。
- 検索欄に"C/C++"と入力して、C/C++拡張機能をインストールする。
- [再読み込み]ボタンを押下する。
インテリセンスの設定
コードナビゲーションや自動補完の機能を有効にする。(この設定が無くても、ビルドおよびデバッグ可能である)
- まず、事前にC/C++プロジェクトのディレクトリを開く。
- 次に、[Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
- "C/Cpp: Edit configurations..."を選択する。
この時、C/C++プロジェクトの.vscodeディレクトリに、c_cpp_properties.jsonファイルが自動的に作成される。
ただし、.vscodeディレクトリが存在しない場合は、プロジェクトディレクトリに自動で作成される。 - c_cpp_properties.jsonファイルを、以下の内容のように編集する。
"ファイル名": "c_cpp_properties.jsonファイル",
{
"version": 4,
"configurations": [
{
"name": "Linux64", // その他: "Win32", "Mac"も指定可能
"includePath": [
"${workspaceFolder}",
"/home/hoge/include" // インクルードするファイルがあるディレクトリを追加
],
"defines": [ // 使用するプリプロセッサの定義
"_DEBUG",
"UNICODE",
"_UNICODE",
"PI=3.14159"
],
// "windowsSdkVersion": "8.1", // Windowsの場合、Windows SDKインクルードパスのバージョン
"compilerPath": "/usr/bin/gcc", // 使用するコンパイラのパス
"cStandard": "c17", // その他: "c99", "c17", "c23"等も指定可能
"cppStandard": "c++17", // その他: "C++11", "C++14", "C++20"等も指定可能
"compilerArgs": [ // コンパイラに渡す引数
"-w",
"-std=gnu++17",
"-Wno-error=narrowing"
],
"intelliSenseMode": "linux-gcc-x64" // その他: "windows-msvc-x64", "msvc-x64", "macos-clang-x64", "clang-x64"等も指定可能
}
]
}
ビルドの設定
tasks.jsonファイルを作成して編集する。
- [Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
- [Tasks: Configure Task]を選択する。
- [テンプレートから tasks.json を生成]を選択する。
- [Others 任意の外部コマンドを実行する例]を選択する。
- プロジェクトディレクトリの.vscodeディレクトリに、tasks.jsonファイルが自動的に作成される。
- tasks.jsonファイルを、以下の内容のように編集する。
"ファイル名": "task.jsonファイル",
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "sample", // プロジェクトのファイル名を指定
"type": "shell",
"command": "g++",
"args": ["-g", "main.cpp"], // プログラムのエントリポイントがあるcppファイル名を指定
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
最後に、ビルドができるかどうか確認する。
なお、ビルドのショートカットは、[Ctrl] + [Shift] + [B]キーを同時押下することでも可能である。
デバッグの設定
launch.jsonファイルを作成して編集する。
- VS Codeメイン画面左のデバッグボタンを選択する。([Ctrl] + [Shift] + [D]キーを同時押下しても可能である)
- デバッグ画面上部にある"構成がありません"と表示されているプルダウンの右側にある歯車を選択する。
- [環境の選択]プルダウンから、[C++ (GDB/LLDB)]を選択する。
- C/C++プロジェクトの.vscodeディレクトリに、launch.jsonファイルが自動的に作成される。
- launch.jsonファイルを、以下の内容のように編集する。
launch.jsonファイルの詳細は、C/C++拡張機能のGithubを参照すること。
"ファイル名": "launch.jsonファイル",
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/Sample", // 出力される実行ファイル名またはライブラリファイル名
"args": [],
"environment": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"externalConsole": true, // 外部ターミナルを使用する場合はtrue
"MIMode": "gdb", // その他: "lldb"も指定可能
"miDebuggerPath": "/usr/bin/gdb", // 使用するデバッガのパス
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
デバッグが実行できるかどうか確認する。
なお、デバッグの実行は、[F5]キーの押下、[デバック]メニューバー - [デバッグの開始]を選択、[デバッグ]画面上部にある[▶]でも可能である。
拡張機能 : Markdown
VSCodeのメイン画面左にある[拡張機能]から、"Markdown All in One"をインストールする。
Markdownファイルの編集中において、[Ctrl] + [Shift] + [P]キーを同時押下して、[Markdown: プレビューを横に表示]を選択することで、
MArkdownのプレビュー画面が開く。
Dolphinとの連携
Dolphinにコンテキストメニューを追加する場合、まず、以下のディレクトリに移動する。
cd Open_in_VSCode.desktop ~/.local/share/kservices5 # または cd Open_in_VSCode.desktop /usr/share/kservices5
例えば、ファイルを右クリックしてVSCodeで開く機能を追加するには、以下のファイルを作成する。
vi Open_in_VSCode.desktop
[Desktop Entry]
Type=Service
Name=Open in VS Code
ServiceTypes=KonqPopupMenu/Plugin
MimeType=inode/directory
X-KDE-Priority=TopLevel
Actions=OpenInVSCode;OpenInVSCode_Root
[Desktop Action OpenInVSCode]
Name=Open in VS Code
Icon=com.visualstudio.code
Exec=code %u
[Desktop Action OpenInVSCode_Root]
Name=Open in VS Code as SuperUser
Icon=com.visualstudio.code
Exec=code --user-data-dir=/home/<ユーザ名>/Program/VScode_root_project %u
VS Codeの設定
タブをPreview modeで開かない
新しいファイルを開く時に現在のタブが上書きされて表示される場合がある。
上書きされるタブはファイルをPreview modeで開いているため、続けて他のファイルを開く場合、以前のタブを上書きして表示する。
タブがPreview modeで開かれている場合、タブのタイトルが斜体になる。
この挙動を回避するためには、以下のいずれかを行う。
- ファイルをダブルクリックして開く
- settings.jsonファイルに、
"workbench.editor.enablePreview": false
を追記する。