現代のソフトウェア開発において、コードエディタはエンジニアにとって欠かせない「相棒」です。数あるコードエディタの中でも、近年圧倒的な人気を誇り、多くのエンジニアに愛用されているのが「Visual Studio Code(VS Code)」です。
マイクロソフトが開発したVS Codeは、その軽量性、高速性、豊富な機能、そして膨大な拡張機能(プラグイン)のエコシステムにより、あらゆる開発言語やフレームワークに対応し、開発者の生産性を飛躍的に向上させることができます。
「VS Codeを使い始めたばかりだけど、何から手をつけたらいいか分からない…」
「もっとVS Codeを使いこなして、開発効率を上げたい!」
現役エンジニアの方も、これからエンジニアを目指す初心者の方も、本記事を読めばVS Codeの基本的な使い方から、知る人ぞ知る便利機能、そして開発を加速させるためのおすすめ設定やプラグインまで、網羅的に理解できます。VS Codeを最大限に活用し、日々の開発をより快適で効率的なものにするための知識を、ぜひこの記事で習得してください。
それでは、VS Codeの奥深い世界へ飛び込んでいきましょう!
- Visual Studio Codeとは
- Visual Studio Codeのインストール
- 初期設定(使用言語によるお勧め設定)
- 標準便利機能
- 1. コマンドパレット (Command Palette)
- 2. 統合ターミナル (Integrated Terminal)
- 3. エクスプローラー (Explorer)
- 4. 検索機能 (Search)
- 5. Git統合 (Source Control)
- 6. デバッグ機能 (Run and Debug)
- 7. マルチカーソル (Multi-cursor)
- 8. コードスニペット (Code Snippets)
- 9. Zen Mode (集中モード)
- 10. 設定の同期 (Settings Sync)
- 11. Emmet (HTML/CSS高速記述)
- 12. Peek Definition (定義をPeek)
- 13. Go to Definition (定義へ移動)
- 14. Rename Symbol (シンボルの名前変更)
- 15. コード整形 (Format Document)
- 16. 折りたたみ (Folding)
- 17. 差分ビュー (Diff View)
- 18. マーカー (Markers)
- お勧めプラグイン
- 注意点
- まとめ
Visual Studio Codeとは
Visual Studio Code、通称「VS Code」は、マイクロソフトが開発・提供している無料かつオープンソースのコードエディタです。テキストエディタに分類されますが、単なるテキスト編集ツールにとどまらず、統合開発環境(IDE)に匹敵するほどの強力な機能を備えています。
VS Codeの主な特徴
- 軽量かつ高速: 起動が早く、動作も軽快なため、ストレスなくコーディングに集中できます。
- マルチプラットフォーム対応: Windows、macOS、Linuxの主要なOSで利用可能です。
- 豊富なプログラミング言語に対応: JavaScript、Python、Java、C++、Go、PHP、Ruby、TypeScriptなど、主要なほとんどの言語をサポートしています。
- 強力な補完機能(IntelliSense): コードの自動補完、引数のヒント、コードの定義へのジャンプなど、入力の手間を減らし、ミスを防止します。
- 統合ターミナル: エディタ内で直接コマンドを実行できるため、開発環境の切り替えが不要です。
- Git統合: バージョン管理システムGitとの連携が強力で、差分の確認、コミット、ブランチ操作などがVS Code内で完結します。
- デバッグ機能: 多くの言語でブレークポイントの設定やステップ実行などのデバッグ機能が標準で利用できます。
- 豊富な拡張機能(Extensibility): VS Codeの最大の魅力の一つが、数千種類に及ぶ拡張機能です。これにより、自分好みに機能をカスタマイズし、特定の開発ニーズに対応させることができます。
- カスタマイズ性: テーマ、アイコン、キーバインドなど、UIや操作性を細かく設定でき、開発者の好みに合わせて最適化できます。
- 活発なコミュニティ: ユーザーが非常に多いため、困ったときに情報を見つけやすく、コミュニティによるサポートも充実しています。
これらの特徴により、VS Codeはフロントエンド開発からバックエンド開発、データサイエンス、機械学習、モバイルアプリ開発、クラウドインフラ構築まで、幅広い分野のエンジニアに選ばれています。特に、Web開発においてはデファクトスタンダードと呼べるほどの地位を確立しています。
従来の「テキストエディタ」と「IDE」の間に位置するような存在であり、IDEほど高機能で重厚ではないものの、テキストエディタ以上の開発支援機能を提供することで、多くの開発者の生産性向上に貢献しています。
豆知識:VS CodeとVisual Studioの違い
名前が似ているため混同されがちですが、Visual Studio CodeとVisual Studioは全く異なる製品です。Visual Studioは主にWindows向けの統合開発環境(IDE)であり、C#、.NET、C++などのMicrosoft技術に特化して、より大規模な開発プロジェクト向けに設計されています。一方、VS Codeは軽量で汎用的なコードエディタであり、様々な言語に対応し、クロスプラットフォームで利用できます。
Visual Studio Codeのインストール
VS Codeのインストールは非常に簡単です。お使いのOSに応じた手順で進めてください。
1. 公式サイトへアクセス
まずは、以下のVisual Studio Code公式サイトにアクセスします。
2. ダウンロード
公式サイトにアクセスすると、自動的にあなたのOSを判別し、推奨されるダウンロードボタンが表示されます。例えば、Windowsであれば「Download for Windows」、macOSであれば「Download for Mac」といったボタンです。
ボタンをクリックしてインストーラーをダウンロードします。
3. インストール手順
Windowsの場合
- ダウンロードした
.exe
ファイル(例:VSCodeUserSetup-x.y.z.exe
)をダブルクリックして実行します。 - 「使用許諾契約書の同意」画面が表示されるので、内容を確認し「同意する」を選択して「次へ」をクリックします。
- 「インストール先の指定」画面では、特に変更がなければデフォルトのままで「次へ」をクリックします。
- 「コンポーネントの選択」画面では、以下の項目にチェックを入れることを強くお勧めします。
Path
に追加 (再起動が必要)- デスクトップにアイコンを作成する(任意)
エクスプローラーのファイル コンテキスト メニュー
にCode で開く
アクションを追加するエクスプローラーのディレクトリ コンテキスト メニュー
にCode で開く
アクションを追加する
特に「Path に追加」と「Code で開く」は、コマンドラインやエクスプローラーからVS Codeを簡単に起動できるようになるため非常に便利です。
- 「インストール準備完了」画面で「インストール」をクリックします。
- インストールが完了したら「完了」をクリックし、VS Codeを起動します。
macOSの場合
- ダウンロードした
.zip
ファイル(例:VSCode-darwin-universal.zip
)をダブルクリックして解凍します。 - 解凍された「Visual Studio Code」アプリケーションを「アプリケーション」フォルダにドラッグ&ドロップします。
- 「アプリケーション」フォルダから「Visual Studio Code」をダブルクリックして起動します。初回起動時には、インターネットからダウンロードしたアプリケーションであることの確認メッセージが表示される場合がありますが、「開く」を選択して続行します。
Linuxの場合 (Ubuntu/Debian系)
.deb
パッケージをダウンロードしてインストールするのが最も簡単です。
- 公式サイトから
.deb
ファイルをダウンロードします。 - ターミナルを開き、ダウンロードしたディレクトリに移動します。
- 以下のコマンドを実行してインストールします。
sudo dpkg -i code_x.y.z_amd64.deb sudo apt-get install -f # 依存関係の解決
- アプリケーションランチャーから「Visual Studio Code」を検索して起動します。
プロヒント:WSL2 (Windows Subsystem for Linux 2) を利用している場合
WindowsでWSL2を利用している場合、WSL2環境内でVS Codeを起動し、Linux側のファイルを直接編集することが可能です。これはWindowsとLinux両方の開発環境をシームレスに利用できるため、非常に強力な機能です。
WindowsにVS Codeをインストールした後、WSL2内で例えば code .
コマンドを実行するだけで、WSL2のファイルシステムを直接開くことができます。初回起動時には、VS CodeがWSL2連携用のサーバーを自動でインストールしてくれます。
初期設定(使用言語によるお勧め設定)
VS Codeはデフォルトでも十分使えますが、初期設定を適切に行うことで、より快適で効率的な開発環境を構築できます。ここでは、すべてのエンジニアにおすすめしたい共通設定と、主要なプログラミング言語ごとのおすすめ設定を紹介します。
設定画面の開き方
VS Codeの設定は、以下のいずれかの方法で開くことができます。
- メニューバーから:
- Windows/Linux:
ファイル
(File) >ユーザー設定
(Preferences) >設定
(Settings) - macOS:
Code
>設定
(Settings)
- Windows/Linux:
- コマンドパレットから:
Ctrl+Shift+P
(Windows/Linux) またはCmd+Shift+P
(macOS) でコマンドパレットを開き、「settings
」と入力して「Preferences: Open User Settings
」を選択します。 - ショートカットキー:
Ctrl+,
(Windows/Linux) またはCmd+,
(macOS)
設定画面はGUIで操作できますが、右上のファイルアイコンをクリックすると、settings.json
ファイルを直接編集することも可能です。settings.json
はより詳細な設定が可能で、設定をテキストとして管理・共有できるため、上級者にはおすすめです。
共通のおすすめ設定
まず、すべての開発者に共通して推奨する設定項目を紹介します。
1. 自動保存 (Auto Save)
ファイルを保存し忘れて変更が失われることを防ぎます。開発効率向上にも寄与します。
- 設定項目:
Files: Auto Save
- 推奨値:
onFocusChange
(VS Codeからフォーカスが外れたときに自動保存) またはafterDelay
(一定時間経過後に自動保存)
settings.json
での設定例:
{
"files.autoSave": "onFocusChange"
}
2. フォントとフォントサイズ
長時間のコーディングに耐えうる、見やすいフォントと適切なフォントサイズを設定しましょう。プログラミング用フォント(等幅フォント)がおすすめです。
- 設定項目:
Editor: Font Family
,Editor: Font Size
- 推奨フォント: Cascadia Code, Fira Code, Source Code Pro, Hack, Ricty Diminished など
- 推奨フォントサイズ: 14〜16px程度(個人の好みに合わせて調整)
特に Cascadia Code はMicrosoftが開発した新しいフォントで、リガチャー(合字)に対応しており、->
や ==
のような記号が美しく表示されます。
settings.json
での設定例:
{
"editor.fontFamily": "'Cascadia Code', 'Fira Code', Consolas, 'Courier New', monospace",
"editor.fontSize": 15,
"editor.fontLigatures": true // リガチャーを有効にする場合
}
3. 行番号の表示 (Line Numbers)
デバッグ時やコードレビュー時に非常に役立ちます。
- 設定項目:
Editor: Line Numbers
- 推奨値:
on
(デフォルトでonですが確認)
{
"editor.lineNumbers": "on"
}
4. タブサイズ (Tab Size) とスペースとタブの変換 (Detect Indentation)
プロジェクトのコーディング規約に合わせて設定しましょう。一般的にはスペース2または4が主流です。
- 設定項目:
Editor: Tab Size
- 推奨値:
2
または4
- 設定項目:
Editor: Detect Indentation
- 推奨値:
false
(自動検出を無効にし、常に指定した設定を使う)
{
"editor.tabSize": 2,
"editor.detectIndentation": false
}
5. 整形時に保存 (Format On Save)
ファイルを保存するたびに、コードが自動で整形されるように設定することで、コーディング規約の維持と可読性の向上に役立ちます。
- 設定項目:
Editor: Format On Save
- 推奨値:
true
{
"editor.formatOnSave": true
}
言語ごとに異なるフォーマッタを使用したい場合は、以下の設定と併用します。
{
"editor.defaultFormatter": "esbenp.prettier-vscode", // Prettierをデフォルトにする例
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter" // PythonのBlackフォーマッタを例に
}
}
6. ミニマップ (Minimap)
ファイルの全体像をミニチュア表示する機能です。大きなファイルでは、目的の場所へ素早く移動するのに便利です。
- 設定項目:
Editor: Minimap Enabled
- 推奨値:
true
(デフォルトでonですが確認)
{
"editor.minimap.enabled": true
}
7. ワークベンチテーマ (Workbench Theme) とアイコンテーマ (File Icon Theme)
見た目をカスタマイズすることで、モチベーション向上にもつながります。多くのテーマが拡張機能として提供されていますが、標準でいくつかのテーマが用意されています。
- 設定項目:
Workbench: Color Theme
,Workbench: File Icon Theme
- 推奨値: 個人の好みに合わせて。人気のテーマには、One Dark Pro, Dracula, Material Theme などがあります。アイコンテーマは Material Icon Theme がおすすめです。
言語別のおすすめ設定(と推奨拡張機能)
VS Codeは、特定の言語に特化した開発体験を提供するために、言語固有の設定や推奨拡張機能が多数存在します。ここでは、主要な言語について解説します。
JavaScript / TypeScript
Webフロントエンド開発の要であるJavaScriptとTypeScriptは、VS Codeが最も得意とする分野の一つです。
- 拡張機能:
- ESLint: コード品質とスタイルのチェック
- Prettier – Code formatter: 自動コードフォーマッタ
- Live Server: HTML/CSS/JSファイルのリアルタイムプレビュー
- Auto Rename Tag: HTML/XMLタグの自動リネーム
- VS Code Icons (または Material Icon Theme): ファイルアイコンの視認性向上
- 設定例 (
settings.json
):{ // ESLintの設定 "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact" ], "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" // 保存時にESLintの自動修正を適用 }, // Prettierの設定 "editor.defaultFormatter": "esbenp.prettier-vscode", "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, // その他のJavaScript/TypeScript向け設定 "javascript.updateImportsOnFileMove.enabled": "always", // ファイル移動時のimportパス自動更新 "typescript.updateImportsOnFileMove.enabled": "always" }
Python
データサイエンス、機械学習、Web開発(Django, Flask)など、幅広く使われるPythonもVS Codeとの相性が抜群です。
- 拡張機能:
- Python (Microsoft公式): IntelliSense、デバッグ、リファクタリング、Jupyterノートブックサポートなど、Python開発に必要な機能がすべて含まれています。
- Black Formatter: Pythonのコードフォーマッタ(厳格なスタイルガイド)
- isort: import文の自動ソート
- 設定例 (
settings.json
):{ // Pythonインタプリタのパス設定(任意、通常は自動検出) // "python.defaultInterpreterPath": "/usr/bin/python3", // フォーマッタとしてBlackを使用 "python.formatting.provider": "black", "python.formatting.blackEnabled": true, "editor.formatOnSave": true, "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, // import文のソート(isort) "python.sortImports.args": [ "--profile", "black" ], "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } }
Java
VS CodeはJava開発にも十分対応しています。
- 拡張機能:
- Extension Pack for Java: Java開発に必要な主要な拡張機能(Language Support, Debugger, Test Runner, Maven/Gradleなど)がセットになっています。
- 設定例 (
settings.json
):{ // Mavenのパス(必要に応じて) // "maven.executable.path": "/usr/local/bin/mvn", // Javaプロジェクトのパス(必要に応じて) // "java.project.sourcePaths": [ // "src/main/java", // "src/test/java" // ] }
Go
Googleが開発したGo言語もVS Codeで快適に開発できます。
- 拡張機能:
- Go (Google公式): IntelliSense、デバッグ、テスト、リファクタリングなど
- 設定例 (
settings.json
):{ "[go]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": "explicit" // importの整理 } }, "go.toolsManagement.autoUpdate": true, // Goツールの自動更新 "go.lintOnSave": "package", // 保存時にリンティング "go.formatTool": "gofumpt", // フォーマッタにgofumptを使う例 (goimportsもよく使われます) }
PHP
Webアプリケーション開発で人気のPHPもVS Codeで効率的に開発できます。
- 拡張機能:
- PHP Intelephense: 高機能なPHPのIntelliSenseとコード補完
- PHP Debug: XDebugを使ったデバッグ機能
- PHP CS Fixer: PHPのコーディングスタイルを自動修正
- 設定例 (
settings.json
):{ "[php]": { "editor.defaultFormatter": "junstyle.php-cs-fixer", "editor.formatOnSave": true }, "php.validate.executablePath": "C:/php/php.exe", // PHP実行ファイルのパス (Windowsの場合) "php.debug.executablePath": "C:/php/php.exe" // XDebugのパス (必要に応じて) }
これらの設定と拡張機能を組み合わせることで、各言語の強力な開発環境をVS Code上に構築することができます。自分の開発する言語に合わせて、最適な設定を見つけてみましょう。
標準便利機能
VS Codeは、デフォルトで非常に多くの便利な機能を備えています。これらを使いこなすことで、日々の開発作業が格段に効率化されます。ここでは、特に知っておくべき標準機能とその使い方を紹介します。
1. コマンドパレット (Command Palette)
VS Codeの最も強力な機能の一つです。ほとんどすべての機能やコマンドにアクセスできます。
- 起動方法:
Ctrl+Shift+P
(Windows/Linux) またはCmd+Shift+P
(macOS) - 使い方:
- 「
ext install
」と入力して拡張機能のインストール画面を開く。 - 「
settings
」と入力して設定画面を開く。 - 「
git clone
」と入力してリポジトリをクローンする。 - 特定の言語の「
Format Document
」を実行する。
- 「
何かの機能を探しているときや、ショートカットキーが分からないときに、まずコマンドパレットを開いてキーワードを入力してみるのがおすすめです。
2. 統合ターミナル (Integrated Terminal)
VS Code内で直接コマンドライン操作を行うことができます。アプリケーションの実行、Gitコマンドの実行、パッケージのインストールなど、開発に必要なほとんどの操作がVS Codeから離れることなく行えます。
- 起動方法:
- メニュー:
表示
(View) >ターミナル
(Terminal) - ショートカット:
Ctrl+@
(Windows/Linux) またはCmd+@
(macOS)
- メニュー:
- 機能:
- 複数のターミナルタブを開くことができます。
- Bash、Zsh、PowerShell、Command Promptなど、システムにインストールされているシェルを自由に選択できます。
- 現在の開いているワークスペースのルートディレクトリで自動的に起動します。
3. エクスプローラー (Explorer)
サイドバーの一番上にあるアイコンで、ファイルやフォルダの管理を行います。プロジェクトのファイル構造をツリー形式で表示し、ファイルの作成、削除、リネーム、移動などが直感的に行えます。
- 機能:
- ファイルの新規作成、フォルダの新規作成
- ファイル/フォルダのリネーム、削除、コピー、ペースト
- ドラッグ&ドロップによるファイル/フォルダの移動
- 開いているエディタのファイルの位置をハイライト
- 開いているワークスペース内のファイルを検索
4. 検索機能 (Search)
強力な検索・置換機能を備えています。単一ファイル内はもちろん、プロジェクト全体から特定の文字列を検索したり、一括で置換したりできます。
- 起動方法:
Ctrl+F
(ファイル内検索),Ctrl+H
(ファイル内置換),Ctrl+Shift+F
(ワークスペース内検索),Ctrl+Shift+H
(ワークスペース内置換) - 機能:
- 正規表現 (Regex) 検索
- 大文字・小文字の区別 (Match Case)
- 単語全体の一致 (Match Whole Word)
- 特定ファイルタイプのみを対象にする (files to include/exclude)
5. Git統合 (Source Control)
VS CodeのGit統合は非常に強力で、多くの開発者がGitクライアントの代わりにVS Codeを使用するほどです。
- 機能:
- 変更の追跡: 未保存の変更、ステージされた変更、コミットされた変更をサイドバーで一覧表示。
- 差分表示: 変更されたファイルをクリックすると、元のファイルとの差分を視覚的に表示(Diffビュー)。
- ステージングとコミット: 変更をステージングし、コミットメッセージを入力してコミット。
- ブランチ操作: ブランチの作成、切り替え、マージ、リベースなど。
- プッシュ、プル、フェッチ: リモートリポジトリとの同期。
- ステージングされた変更の確認: コミット前にステージされた変更を確認できる。
- タイムラインビュー: ファイルの変更履歴を時系列で表示し、過去のコミット内容を確認できる。
6. デバッグ機能 (Run and Debug)
多くのプログラミング言語に対応した強力なデバッグ機能が標準で搭載されています。
- 機能:
- ブレークポイント: コードの特定の位置にブレークポイントを設定し、実行を一時停止。
- ステップ実行: コードを一行ずつ実行 (ステップオーバー、ステップイン、ステップアウト)。
- 変数の監視: 実行中の変数の値を確認。
- 呼び出し履歴 (Call Stack): 現在の実行位置に至るまでの関数の呼び出し順序を確認。
- ウォッチ (Watch): 特定の式の値をリアルタイムで監視。
- デバッグコンソール: デバッグ中にコードを実行したり、変数を参照したりできる。
デバッグの開始は、通常 F5
キーで行います。初回デバッグ時に、言語に応じたデバッグ設定ファイル(launch.json
)の生成をVS Codeがアシストしてくれます。
7. マルチカーソル (Multi-cursor)
複数の位置にカーソルを同時に配置し、一度に同じ編集を行うことができる機能です。繰り返し同じ変更を行う際に絶大な効果を発揮します。
- 追加方法:
Alt
(Windows/Linux) またはOption
(macOS) を押しながらクリック。 - 同じ単語を複数選択:
Ctrl+D
(Windows/Linux) またはCmd+D
(macOS) を押すと、選択中の単語と同じ単語が次々と選択されていきます。 - すべての同じ単語を選択:
Ctrl+Shift+L
(Windows/Linux) またはCmd+Shift+L
(macOS) を押すと、現在の選択範囲(またはカーソル位置の単語)と同じ単語がすべて選択されます。
使用例
変数名を一括変更したり、HTMLの属性をまとめて追加・修正したりする際に非常に便利です。
<div class="item">
<span class="item-title">Title 1</span>
<p class="item-description">Description 1</p>
</div>
<div class="item">
<span class="item-title">Title 2</span>
<p class="item-description">Description 2</p>
</div>
<div class="item">
<span class="item-title">Title 3</span>
<p class="item-description">Description 3</p>
</div>
上記のHTMLで、item-title
を product-name
に変更したい場合、item-title
のいずれかを選択し、Ctrl+D
(または Cmd+D
) を数回押してすべての item-title
を選択後、product-name
と入力すれば一括で変更できます。
8. コードスニペット (Code Snippets)
よく使うコードパターンを短いキーワードで素早く挿入できる機能です。多くの言語で標準的なスニペットが提供されており、自分でカスタムスニペットを作成することも可能です。
- 使用例: JavaScriptファイルで「
for
」と入力すると、for
ループのテンプレートが補完候補として表示され、選択するとコードが展開されます。
カスタムスニペットの作成
ファイル
(File) > ユーザー設定
(Preferences) > ユーザー スニペットの構成
(Configure User Snippets) から、言語ごとに独自のコードスニペットを定義できます。これにより、反復的なコード入力を大幅に削減できます。
9. Zen Mode (集中モード)
VS CodeのUI要素(サイドバー、アクティビティバー、ステータスバーなど)をすべて非表示にし、エディタのみを表示することで、コーディングに集中できる環境を提供します。
- 切り替え方法:
表示
(View) >外観
(Appearance) >Zen モードの切り替え
(Toggle Zen Mode) または コマンドパレットから「zen
」と入力。 - 解除方法:
Esc
キーを2回押すか、再度コマンドパレットから「zen
」を選択。
10. 設定の同期 (Settings Sync)
複数のPCでVS Codeを使用している場合、設定、キーバインド、拡張機能などをMicrosoftアカウント経由で同期できる機能です。これにより、どの環境でも一貫した開発体験を得られます。
- 設定方法: 左下のアカウントアイコンをクリックし、「Turn On Settings Sync…」を選択して、同期したい項目(設定、キーバインド、拡張機能、スニペットなど)にチェックを入れて同期を開始します。
11. Emmet (HTML/CSS高速記述)
VS Codeに標準搭載されているEmmetは、HTMLとCSSの記述を劇的に高速化するツールです。短い省略形(Abbreviation)を入力してTabキーを押すだけで、対応する長いコードが展開されます。
- HTMLの例:
!
またはhtml:5
+ Tab → HTML5の基本構造div.container>ul#list>li*3>a{Item $}
+ Tab → 複雑なネスト構造を一瞬で生成
<div class="container"> <ul id="list"> <li><a href="">Item 1</a></li> <li><a href="">Item 2</a></li> <li><a href="">Item 3</a></li> </ul> </div>
- CSSの例:
m10
+ Tab →margin: 10px;
fz16
+ Tab →font-size: 16px;
dfjcac
+ Tab →display: flex; justify-content: center; align-items: center;
Emmetの記法は非常に豊富で、慣れると手放せなくなる強力な機能です。
12. Peek Definition (定義をPeek)
関数の定義や変数の宣言などを、現在のファイルから移動することなくポップアップウィンドウで確認できる機能です。コードの理解や追跡に非常に役立ちます。
- 使い方: 定義を見たい関数名や変数名にカーソルを合わせ、
Alt+F12
(Windows/Linux) またはOption+F12
(macOS) を押す。
13. Go to Definition (定義へ移動)
Peek Definitionと似ていますが、こちらは新しいタブで定義元ファイルを開きます。
- 使い方: 定義元へ移動したい項目にカーソルを合わせ、
F12
を押す。
14. Rename Symbol (シンボルの名前変更)
変数名や関数名などを一括で変更できる機能です。単にテキストを置換するのではなく、シンボルの参照元をすべて追跡して正確にリファクタリングしてくれます。
- 使い方: 変更したいシンボルにカーソルを合わせ、
F2
を押して新しい名前を入力し、Enter
を押す。
15. コード整形 (Format Document)
コードを自動で整形し、インデント、スペース、改行などを統一されたスタイルに整えます。設定によっては、保存時に自動で整形することも可能です(前述の「Format On Save」)。
- 実行方法:
Shift+Alt+F
(Windows/Linux) またはShift+Option+F
(macOS)。 - また、コマンドパレットから「
Format Document
」と入力して実行することもできます。
16. 折りたたみ (Folding)
コードブロック(関数、クラス、if文など)を折りたたんで表示することで、長いファイルでも全体像を把握しやすくします。行番号の左に表示される矢印をクリックするか、ショートカットキーで操作します。
- すべて折りたたむ:
Ctrl+K Ctrl+0
(Windows/Linux) またはCmd+K Cmd+0
(macOS) - すべて展開する:
Ctrl+K Ctrl+J
(Windows/Linux) またはCmd+K Cmd+J
(macOS)
17. 差分ビュー (Diff View)
Git統合のセクションでも触れましたが、任意の2つのファイルを比較して、変更点や差分を視覚的に表示する機能です。特定のファイルの過去のバージョンとの比較や、別のブランチのファイルとの比較など、様々なシーンで役立ちます。
- 使い方: エクスプローラーで比較したいファイルを2つ選択し、右クリックメニューから「
比較対象の選択
(Select for Compare)」→もう一方のファイルを選択し、「選択項目と比較
(Compare with Selected)」を選びます。
18. マーカー (Markers)
エラーや警告、リンティングの指摘などを一覧で表示してくれる機能です。問題の箇所に素早くジャンプできます。
- 起動方法: 左下のステータスバーにあるエラー/警告のアイコンをクリックするか、
表示
(View) >問題
(Problems)
ショートカットキーの習得は生産性向上に直結!
VS Codeの機能を最大限に引き出すためには、主要なショートカットキーを覚えることが非常に重要です。最初は手間だと感じるかもしれませんが、慣れてくるとマウスに手を伸ばす回数が劇的に減り、開発スピードが格段に上がります。
VS Codeには「Keybindings Reference Sheet」という、ショートカットキーの一覧をPDFで表示する機能があります。コマンドパレットから「Keyboard Shortcuts Reference
」と入力して開いてみましょう。よく使う機能から徐々に覚えていくことをお勧めします。
お勧めプラグイン
VS Codeの真髄は、その拡張性、すなわち「プラグイン(拡張機能)」にあります。デフォルトでは提供されない様々な機能を追加したり、既存の機能を強化したりすることで、開発環境を自分好みに最適化し、生産性を飛躍的に向上させることができます。ここでは、多くのエンジニアに愛用されている、特におすすめのプラグインを紹介します。
プラグインのインストール方法
VS Codeのサイドバーにある「拡張機能」アイコン(四角が3つと1つのアイコン)をクリックするか、Ctrl+Shift+X
(Windows/Linux) または Cmd+Shift+X
(macOS) で拡張機能ビューを開きます。
検索バーにプラグイン名を入力し、表示されたプラグインの「Install」ボタンをクリックするだけで簡単にインストールできます。
汎用的なおすすめプラグイン
1. Prettier – Code formatter
- 概要: コードを自動で整形(フォーマット)してくれる拡張機能です。JavaScript、TypeScript、CSS、HTML、JSON、Markdownなど、幅広い言語に対応しており、チーム開発でのコードスタイル統一に絶大な効果を発揮します。
- おすすめポイント: 保存時に自動整形する設定(
"editor.formatOnSave": true
)と組み合わせることで、常に美しいコードを保てます。 - Marketplace: Prettier – Code formatter
2. ESLint (JavaScript/TypeScript開発者向け)
- 概要: JavaScript/TypeScriptのコード品質を静的に分析し、問題のある箇所(潜在的なバグ、スタイル違反など)を検出してくれます。Prettierと併用することで、コーディング規約に則った堅牢なコードを書きやすくなります。
- おすすめポイント: エラーや警告がリアルタイムで表示され、保存時に自動修正(
"editor.codeActionsOnSave": {"source.fixAll.eslint": "explicit"}
)する設定も可能です。 - Marketplace: ESLint
3. Live Server
- 概要: 静的なHTML、CSS、JavaScriptファイルをWebサーバーとしてホストし、リアルタイムでブラウザに表示してくれる拡張機能です。ファイルを保存するたびに自動でブラウザがリロードされるため、フロントエンド開発のプレビュー作業が非常にスムーズになります。
- おすすめポイント: 非常に手軽にローカルサーバーを立てられるため、簡単なWebページの開発やプロトタイピングに最適です。
- Marketplace: Live Server
4. GitLens — Git supercharged
- 概要: VS Codeの標準Git機能をさらに強力にする拡張機能です。コードの各行の変更履歴(誰が、いつ、何のコミットで変更したか)をインラインで表示する「CodeLens」機能が特に有名です。
- おすすめポイント: 過去の変更経緯を素早く確認でき、コードレビューやバグの原因究明に役立ちます。コミット履歴の可視化、ブランチ間の比較なども非常に強力です。
- Marketplace: GitLens — Git supercharged
5. Path Intellisense
- 概要: ファイルパスを入力する際に、自動で補完候補を表示してくれる拡張機能です。HTMLの
<img src="...">
やJavaScriptのimport
文などで、手動でパスを入力する手間とミスを減らします。 - おすすめポイント: プロジェクト内のファイル構造が複雑になればなるほど、その恩恵を強く感じられます。
- Marketplace: Path Intellisense
6. Docker
- 概要: Dockerコンテナやイメージ、ボリュームなどをVS Codeから直接管理できる拡張機能です。
Dockerfile
の自動補完や構文ハイライトも提供します。 - おすすめポイント: コンテナベースの開発を行っているエンジニアにとっては必須級のツールです。コンテナの起動・停止、ログの確認などがVS Code内で完結します。
- Marketplace: Docker
7. Remote – SSH / Remote – Containers / Remote – WSL (Remote Development Pack)
- 概要: これらはVS Codeの「Remote Development」機能群の一部で、開発環境をローカルPCではなく、リモートサーバー、Dockerコンテナ、またはWSL(Windows Subsystem for Linux)上で実行できる拡張機能です。
- おすすめポイント: リモート環境で直接開発することで、ローカルPCの環境汚染を防ぎ、チーム内での開発環境の統一を容易にします。特にクラウド開発や大規模な開発環境で真価を発揮します。
- Marketplace: Remote Development
8. Material Icon Theme / VSCode Icons
- 概要: ファイルやフォルダのアイコンを、その種類(JavaScriptファイルならJSのアイコン、CSSファイルならCSSのアイコンなど)に応じて表示してくれる拡張機能です。
- おすすめポイント: ファイルツリーの視認性が向上し、目的のファイルを素早く見つけられるようになります。見た目のカスタマイズとしても人気です。
- Marketplace: Material Icon Theme, VSCode Icons
9. Code Spell Checker
- 概要: コード内のコメントや文字列リテラル、変数名などのスペルミスをチェックし、指摘してくれる拡張機能です。
- おすすめポイント: ドキュメントや変数名のスペルミスは、後々のバグや誤解の元となることがあります。英語での記述が多い開発において非常に有用です。
- Marketplace: Code Spell Checker
10. Polacode
- 概要: VS Codeのエディタで書いたコードを、美しく画像化してくれる拡張機能です。ブログ記事やプレゼンテーション、SNSでの共有などに最適です。
- おすすめポイント: コードをスクリーンショットで撮るよりもはるかに見栄えの良い画像を簡単に作成できます。背景色や影などもカスタマイズ可能です。
- Marketplace: Polacode
言語別おすすめプラグイン(再掲・補足)
前述の「初期設定」セクションでも触れましたが、特定の言語に特化した開発を行う場合、以下のプラグインは必須級です。
Python開発者向け
- Python (Microsoft): Microsoft公式の強力なPython拡張機能。IntelliSense、デバッグ、リファクタリング、Jupyterノートブックサポートなど、すべてが詰まっています。
- Black Formatter: Pythonのコードフォーマッタ。Pythonの公式スタイルガイドPEP 8に則った厳格なフォーマットを自動で行います。
- isort: Pythonのimport文を自動で整理・ソートします。
Java開発者向け
- Extension Pack for Java: Java開発に必要な一連のツール(Language Support for Java, Debugger for Java, Maven for Javaなど)がまとめられています。
Go開発者向け
- Go (Google): Google公式のGo言語拡張機能。言語サーバーによる補完、デバッグ、テスト、コード分析ツールとの連携など。
PHP開発者向け
- PHP Intelephense: 高機能なPHPのIntelliSenseを提供し、コード補完、定義へのジャンプ、参照検索などを強化します。
- PHP Debug: XDebugと連携し、VS Code内でPHPコードをデバッグできるようにします。
Markdown記述者向け
- Markdown All in One: Markdown記述を強力にサポート。プレビュー、テーブル作成、TOC(目次)生成など。
- Markdown Preview Enhanced: 高機能なMarkdownプレビュー。LaTeX、UML図、mermaid図のレンダリングも可能。
拡張機能の「Pack」を活用しよう
上記で紹介した「Extension Pack for Java」のように、特定の言語やフレームワーク向けに複数の有用な拡張機能をまとめた「拡張機能パック」が存在します。
例えば、React
、Angular
、Vue.js
、C++
、Ruby
などで検索すると、便利な拡張機能パックが見つかることがあります。これらをインストールすれば、一つずつ探して入れる手間が省けます。
拡張機能は「入れすぎ」に注意!
便利な拡張機能はたくさんありますが、入れすぎるとVS Codeの動作が重くなったり、予期せぬ競合が発生したりする可能性があります。
本当に必要だと思うものだけを厳選し、定期的に使っていない拡張機能がないか見直し、不要なものはアンインストールすることをおすすめします。
注意点
VS Codeは非常に強力で便利なツールですが、使用する上でいくつか注意すべき点があります。これらを理解しておくことで、トラブルを未然に防ぎ、より快適にVS Codeを使いこなすことができます。
1. 拡張機能の入れすぎによるパフォーマンス低下
前述の「お勧めプラグイン」セクションでも触れましたが、これは最もよくある問題の一つです。
- 原因: 多くの拡張機能は、VS Codeの起動時やファイルの変更時などにバックグラウンドで動作します。特に、大規模なプロジェクトや、複雑な言語サーバーを内包する拡張機能を多数インストールすると、VS Codeの起動が遅くなったり、コード補完やフォーマットの動作が重くなったりすることがあります。
- 対策:
- 本当に必要なものだけをインストールする: 使用頻度が低い、または他の拡張機能で代替できるものはインストールしない。
- 定期的な見直し: 定期的にインストール済みの拡張機能リストを確認し、使っていないものはアンインストールする。
- 拡張機能の無効化: 特定のプロジェクトや言語でのみ必要な拡張機能は、グローバルに有効にするのではなく、ワークスペース単位で無効化/有効化する。
- パフォーマンス診断: コマンドパレットから「
Developer: Show Running Extensions
」を実行すると、各拡張機能のリソース使用状況を確認できます。重い拡張機能を見つける手がかりになります。
2. 設定の衝突と優先順位
VS Codeの設定には、いくつかの優先順位があります。
- 優先順位(低い → 高い):
- デフォルト設定
- ユーザー設定 (User Settings –
settings.json
) - ワークスペース設定 (Workspace Settings –
.vscode/settings.json
) - フォルダ設定 (Folder Settings –
.vscode/settings.json
、マルチルートワークスペースの場合) - 言語固有設定 (Language-specific settings)
- 問題点: 複数の場所で同じ設定項目が定義されている場合、優先順位の高い設定が適用されます。これにより、「なぜか自分の設定が適用されない」といった問題が発生することがあります。特に、チーム開発で共有されるワークスペース設定は、個人のユーザー設定を上書きする可能性があるため注意が必要です。
- 対策:
- 設定の適用元を確認する: 設定UIで設定項目を検索すると、その設定が「ユーザー」「ワークスペース」「言語固有」のどこで設定されているかが表示されます。
.vscode/settings.json
を理解する: プロジェクト固有の設定は、.vscode/settings.json
に記述し、Gitで共有することでチーム内での設定統一を図ります。- 意図しない上書きに注意: 個人の好みの設定がワークスペース設定によって上書きされていないか確認する。
3. 大規模ファイルの取り扱い
VS Codeは軽量ですが、数GBを超えるような非常に大きな単一のログファイルやデータファイルなどを開くと、動作が著しく遅くなったり、クラッシュしたりする可能性があります。
- 原因: VS Codeはエディタ内でファイルを丸ごと読み込み、シンタックスハイライトやIntelliSenseなどの機能を提供するため、メモリを多く消費します。
- 対策:
- 専用ツールを使用する: 大規模なログファイルの閲覧には、
less
、tail
、専用のログビューアなどのツールを使用することを検討する。 - 分割する: 可能であれば、ファイルを小さなチャンクに分割して開く。
- 専用ツールを使用する: 大規模なログファイルの閲覧には、
4. 拡張機能の依存関係と競合
複数の拡張機能が同じ機能を提供しようとしたり、互いに競合したりする場合があります。例えば、異なるフォーマッタ拡張機能が同じファイルタイプに対して動作するように設定されている場合、どちらが適用されるか不明瞭になったり、意図しない挙動になったりすることがあります。
- 対策:
- 公式の推奨を確認する: ほとんどの言語拡張機能は、公式ドキュメントで推奨される他の拡張機能や設定について言及しています。
- 競合する機能を特定する: 特定の機能がうまく動作しない場合、最近インストールした拡張機能を一時的に無効化して試してみる。
editor.defaultFormatter
を適切に設定する: 複数のフォーマッタがある場合、どのフォーマッタをデフォルトとして使用するかを明示的に設定する。
5. キャッシュや設定ファイルの破損
稀にVS Codeの動作がおかしくなったり、設定が保存されなくなったりする場合があります。これは、VS Codeの内部キャッシュや設定ファイルが破損している可能性が考えられます。
- 対策:
- VS Codeの再起動: まずはVS Codeを完全に終了し、再起動してみる。
- キャッシュのクリア: VS Codeのキャッシュディレクトリを削除してみる。(場所はOSによって異なります。公式サイトやフォーラムで検索してください。)
- 拡張機能の再インストール: 特定の拡張機能が問題の場合、一度アンインストールしてから再インストールしてみる。
- クリーンインストール: 最終手段として、VS Code自体をアンインストールし、関連する設定ファイルやキャッシュを完全に削除してから再インストールする。ただし、この場合、設定や拡張機能は失われるため、設定の同期機能を有効にしておくことが重要です。
6. Git IgnoreとVS Codeのファイルエクスプローラー
.gitignore
に記述されたファイルやフォルダは、VS Codeのエクスプローラー上ではデフォルトで非表示になりません。これは意図的な挙動であり、VS CodeがGitの管理外のファイルでも表示できるようにするためです。
- 対策:
- 設定で非表示にする:
"files.exclude"
設定を使って、エクスプローラーから特定のファイルを非表示にすることができます。{ "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/Thumbs.db": true, "**/.venv": true, // Pythonの仮想環境を非表示にする例 "**/node_modules": true // node_modulesを非表示にする例 } }
- Gitの変更追跡との混同を避ける:
.gitignore
はGitの追跡対象から外すためのものであり、エディタの表示を制御するものではない、という認識を持つ。
- 設定で非表示にする:
これらの注意点を踏まえ、VS Codeを賢く活用することで、より安定した開発環境を構築し、日々の作業をスムーズに進めることができるでしょう。
まとめ
本記事では、エンジニアの強力な味方である「Visual Studio Code」について、その概要からインストール方法、おすすめの初期設定、豊富な標準機能、そして開発を加速させるための必須プラグイン、さらには使用上の注意点まで、多岐にわたって解説してきました。
VS Codeは、単なるコードエディタの枠を超え、軽量でありながら統合開発環境(IDE)に匹敵する多機能性を持ち合わせています。その最大の強みは、あらゆるプログラミング言語に対応し、数千種類もの拡張機能によって無限にカスタマイズできる点にあります。これにより、フロントエンド、バックエンド、データサイエンス、モバイル開発など、あらゆる分野のエンジニアが自分にとって最適な開発環境を構築できるのです。
本記事で学んだことの要点:
- VS Codeとは: 無料、オープンソース、軽量、高速、マルチプラットフォーム対応で、強力なGit統合やデバッグ機能を備える。
- インストール: 公式サイトから簡単にダウンロード・インストール可能。OSごとの手順を理解する。
- 初期設定: 自動保存、フォント、タブサイズ、保存時整形などの共通設定で快適なコーディング環境を構築。言語別の推奨設定で開発効率を向上させる。
- 標準便利機能: コマンドパレット、統合ターミナル、Git統合、デバッグ、マルチカーソル、Emmetなど、基本的な機能だけでも開発効率が大幅に向上する。
- おすすめプラグイン: Prettier、ESLint、Live Server、GitLens、Path Intellisense、Docker、Remote Developmentなど、汎用的に役立つものから、言語特化のものまで幅広く活用することでVS Codeの真価を発揮する。
- 注意点: 拡張機能の入れすぎによるパフォーマンス低下、設定の衝突、大規模ファイルの取り扱い、拡張機能の競合、キャッシュ破損など、トラブルを避けるための知識も重要。
VS Codeは、一度設定を済ませてしまえば、毎日手放せないツールとなるでしょう。しかし、その進化は止まりません。常に新しい機能や拡張機能が追加され、改善が加えられています。
学び続ける姿勢が重要
本記事で紹介したのは、VS Codeの機能のごく一部に過ぎません。公式ドキュメントを読んだり、他のエンジニアのブログや動画を参考にしたり、自分自身で様々な設定や拡張機能を試したりすることで、より深い理解と自分なりの最適な使い方を見つけることができます。
特に、以下の点に注目して日々の学習を続けましょう。
- VS Codeの公式ブログやリリースノート: 新機能や改善点が定期的に発表されます。
- VS Code Marketplace: 新しい便利な拡張機能が日々追加されています。
- コミュニティの知見: Qiita、Zenn、Stack Overflowなどのコミュニティで、他のエンジニアがどのようにVS Codeを活用しているかを学ぶ。
このブログ記事が、現役エンジニアの方々にはVS Codeのさらなる活用の一助となり、初心者エンジニアの方々にはVS Codeを使い始めるきっかけとなり、日々の開発作業がより楽しく、より生産的になることを心から願っています。
さあ、あなたもVS Codeを使いこなして、最高の開発ライフを送りましょう!
※参考にされる場合は自己責任でお願いします。