VS Codeのエージェントモードを拡張するには、を試してください!

基本的な編集

Visual Studio Codeは第一にエディターであり、非常に生産的なソースコード編集に必要な機能を備えています。このトピックでは、エディターの基本を説明し、コード作成の開始を支援します。

キーボードショートカット

コード作成時にキーボードから手を離さないで済むことは、高い生産性のために不可欠です。VS Codeには豊富なデフォルトのキーボードショートカットがあり、それらをカスタマイズすることも可能です。

複数選択 (マルチカーソル)

VS Codeは、高速な同時編集のために複数のカーソルをサポートしています。Alt+Clickでセカンダリカーソル (細く表示されます) を追加できます。各カーソルは、そのコンテキストに基づいて独立して動作します。カーソルを追加する一般的な方法は、⌥⌘↓ (Windows Ctrl+Alt+Down、Linux Shift+Alt+Down) または ⌥⌘↑ (Windows Ctrl+Alt+Up、Linux Shift+Alt+Up) で、カーソルを上下に挿入します。

グラフィックカードのドライバー (例えば NVIDIA) が、これらのデフォルトショートカットを上書きする場合があります。

Multi-cursor

⌘D (Windows、Linux Ctrl+D) は、カーソル位置の単語、または現在の選択範囲の次の出現箇所を選択します。

Multi-cursor-next-word

ヒント

⇧⌘L (Windows、Linux Ctrl+Shift+L) を使用してさらにカーソルを追加することもできます。これは、現在選択されているテキストの各出現箇所に選択範囲を追加します。

マルチカーソル修飾子

macOSでCmd+Click、WindowsおよびLinuxでCtrl+Clickを使用して複数のカーソルを適用するための修飾キーを変更したい場合は、editor.multiCursorModifier 設定で行うことができます。これにより、Sublime TextやAtomなどの他のエディターから来たユーザーは、使い慣れたキーボード修飾子を使い続けることができます。

この設定は以下に設定できます。

  • ctrlCmd - WindowsではCtrl、macOSではCmdにマップされます。
  • alt - 既存のデフォルトのAltです。

この設定をすばやく切り替えるには、メニュー項目 選択 > マルチカーソルをCtrl+クリックに切り替える または 選択 > マルチカーソルをAlt+クリックに切り替える もあります。

定義へ移動 および リンクを開く ジェスチャもこの設定を尊重し、競合しないように適応します。例えば、設定がctrlCmdの場合、Ctrl/Cmd+Clickで複数のカーソルを追加でき、リンクを開くまたは定義へ移動はAlt+Clickで呼び出すことができます。

選択範囲の縮小/拡大

現在の選択範囲をすばやく縮小または拡大します。⌃⇧⌘← (Windows、Linux Shift+Alt+Left) および ⌃⇧⌘→ (Windows、Linux Shift+Alt+Right) でトリガーします。

⌃⇧⌘→ (Windows、Linux Shift+Alt+Right) を使用して選択範囲を拡大する例を次に示します。

Expand selection

列 (ボックス) 選択

カーソルを一方の角に配置し、Shift+Alt を押しながら反対側の角へドラッグします。

Column text selection

マルチカーソル修飾子としてCtrl/Cmdを使用する場合、これはShift+Ctrl/Cmdに変わります。

macOSとWindowsには列選択のデフォルトのキーボードショートカットもありますが、Linuxにはありません。

キー コマンド コマンドID
⇧↓ (Windows、Linux Shift+Down) 列選択 下 cursorColumnSelectDown
⇧↑ (Windows、Linux Shift+Up) 列選択 上 cursorColumnSelectUp
⇧← (Windows、Linux Shift+Left) 列選択 左 cursorColumnSelectLeft
⇧→ (Windows、Linux Shift+Right) 列選択 右 cursorColumnSelectRight
⇧PageDown (Windows、Linux Shift+PageDown) 列選択 ページダウン cursorColumnSelectPageDown
⇧PageUp (Windows、Linux Shift+PageUp) 列選択 ページアップ cursorColumnSelectPageUp

必要であれば、keybindings.json編集して、より使い慣れたものにバインドすることができます。

列選択モード

ユーザー設定の エディター: 列選択 がこの機能を制御します。このモードに入ると、ステータスバーに示されるように、マウスジェスチャと矢印キーがデフォルトで列選択を作成します。このグローバルトグルは、選択 > 列選択モード メニュー項目からもアクセスできます。さらに、ステータスバーから列選択モードを無効にすることもできます。

保存 / 自動保存

デフォルトでは、VS Codeは変更をディスクに保存するために明示的なアクションを必要とします。⌘S (Windows、Linux Ctrl+S)

しかし、自動保存をオンにするのは簡単で、設定された遅延の後、またはエディターからフォーカスが離れたときに変更が保存されます。このオプションがオンになっている場合、ファイルを明示的に保存する必要はありません。自動保存をオンにする最も簡単な方法は、ファイル > 自動保存 のトグルで、遅延後の保存をオン/オフします。

自動保存をより細かく制御するには、ユーザーまたはワークスペースの設定を開き、関連する設定を見つけます。

  • files.autoSave: 以下の値をとることができます。
    • off - 自動保存を無効にします。
    • afterDelay - 設定された遅延 (デフォルト 1000 ミリ秒) の後でファイルを保存します。
    • onFocusChange - 変更されたファイルの編集ウィンドウからフォーカスが移動したときにファイルを保存します。
    • onWindowChange - フォーカスがVS Codeウィンドウから移動したときにファイルを保存します。
  • files.autoSaveDelay: files.autoSaveafterDelay に設定されている場合の遅延をミリ秒単位で設定します。デフォルトは 1000 ミリ秒です。

特定の言語やファイルの種類に対して自動保存機能をカスタマイズしたい場合は、settings.jsonファイルに言語固有のルールを追加することで可能です。

例として、LaTeXファイルの自動保存を無効にするには

    "[latex]": {
        "files.autoSave": "off",
    },

ホットイグジット

デフォルトでは、VS Codeは終了時にファイルへの未保存の変更を記憶しています。ホットイグジットは、ファイル > 終了 (macOSではCode > VS Codeを終了) を介してアプリケーションが閉じられたとき、または最後のウィンドウが閉じられたときにトリガーされます。

ホットイグジットは、files.hotExit を以下の値に設定することで構成できます。

  • "off": ホットイグジットを無効にします。
  • "onExit": ホットイグジットは、アプリケーションが閉じられたとき、つまりWindows/Linuxで最後のウィンドウが閉じられたとき、またはworkbench.action.quitコマンドがトリガーされたとき (コマンドパレット、キーボードショートカット、またはメニューから) にトリガーされます。フォルダが開かれていないすべてのウィンドウは、次回起動時に復元されます。
  • "onExitAndWindowClose": ホットイグジットは、アプリケーションが閉じられたとき、つまりWindows/Linuxで最後のウィンドウが閉じられたとき、またはworkbench.action.quitコマンドがトリガーされたとき (コマンドパレット、キーボードショートカット、またはメニューから) にトリガーされます。また、それが最後のウィンドウであるかどうかにかかわらず、フォルダが開かれているすべてのウィンドウでもトリガーされます。フォルダが開かれていないすべてのウィンドウは、次回起動時に復元されます。シャットダウン前の状態にフォルダウィンドウを復元するには、window.restoreWindowsall に設定します。

ホットイグジットで問題が発生した場合、すべてのバックアップは標準のインストール場所にある以下のフォルダに保存されます。

  • Windows %APPDATA%\Code\Backups
  • macOS $HOME/Library/Application Support/Code/Backups
  • Linux $HOME/.config/Code/Backups

検索と置換

VS Codeでは、現在開いているファイル内でテキストをすばやく検索および置換できます。⌘F (Windows、Linux Ctrl+F) を押してエディターに検索コントロールを開き、検索文字列を入力します。検索結果はエディター、概要ルーラー、ミニマップで強調表示されます。

VS Codeは入力するとすぐに検索を開始します。Enterを押したときにのみ検索を開始するには、editor.find.findOnType 設定をクリアします。

現在のファイルに複数のマッチがある場合、検索入力ボックスにフォーカスがある状態で、Enter を押して次の結果に移動するか、⇧Enter (Windows、Linux Shift+Enter) を押して前の結果に移動します。

デフォルトでは、VS Codeはワークスペースの検索および置換クエリの履歴を保存し、再起動時に復元します。この動作は、editor.find.history および editor.find.replaceHistory の設定で構成できます。履歴の保存を無効にするには、値をneverに設定します。

選択範囲から検索文字列をシード

検索コントロールが開かれると、エディターで選択されているテキストが検索入力ボックスに自動的に入力されます。選択範囲が空の場合、カーソル下の単語が代わりに入力ボックスに挿入されます。

Seed Search String From Selection

この機能は、editor.find.seedSearchStringFromSelection"never" に設定することでオフにできます。

選択範囲内で検索

デフォルトでは、検索操作はエディター内のファイル全体に対して実行されます。検索をテキスト選択に限定するには、検索コントロールの選択範囲内で検索アイコンを選択するか、⌥⌘L (Windows、Linux Alt+L) を押します。

Find In Selection

これを検索コントロールのデフォルトの動作にしたい場合は、editor.find.autoFindInSelectionalways に設定するか、複数行のコンテンツが選択されている場合にのみ選択されたテキストに対して実行したい場合は multiline に設定できます。

高度な検索と置換オプション

より高度なシナリオのために、検索および置換コントロールには以下のオプションがあります。

  • 検索コントロール

    • 大文字と小文字を区別
    • 単語単位で一致
    • 正規表現
  • 置換コントロール

    • 大文字/小文字を保持

Advanced Find and Replace Options

複数行のサポートと検索コントロールのサイズ変更

テキストを検索入力ボックスと置換入力ボックスに貼り付けることで、複数行のテキストを検索できます。Ctrl+Enterを押すと、入力ボックスに改行が挿入されます。

Multiple Line Support

長いテキストを検索している間、検索コントロールのデフォルトサイズが小さすぎる場合があります。左側のサッシュをドラッグして検索コントロールを拡大したり、左側のサッシュをダブルクリックして最大化したり、デフォルトサイズに縮小したりできます。

Resize Find control

ファイルをまたぐ検索

VS Codeでは、現在開いているフォルダ内のすべてのファイルをすばやく検索できます。⇧⌘F (Windows、Linux Ctrl+Shift+F) を押し、検索語を入力します。検索結果は、検索語を含むファイルごとにグループ化され、各ファイル内のヒット数とその場所が示されます。ファイルを展開すると、そのファイル内のすべてのヒットのプレビューが表示されます。その後、いずれかのヒットをシングルクリックすると、エディターで表示されます。

A simple text search across files

ヒント

VS Codeは、検索ボックスでの正規表現検索もサポートしています。

検索ボックスの右下にある省略記号 (検索の詳細を切り替える) を選択する (または⇧⌘J (Windows、Linux Ctrl+Shift+J) を押す) ことで、高度な検索オプションを構成できます。これにより、検索を構成するための追加フィールドが表示されます。

ヒント

クイック検索を使用して、現在開いているフォルダ内のすべてのファイルからテキストをすばやく見つけることができます。コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を開き、検索: クイック検索 コマンドを入力します。

高度な検索オプション

Advanced search options

検索ボックスの下にある2つの入力ボックスには、検索に含めるまたは除外するパターンを入力できます。exampleと入力すると、ワークスペース内のexampleという名前のすべてのフォルダとファイルに一致します。./exampleと入力すると、ワークスペースの最上位にあるexample/フォルダに一致します。複数のパターンを区切るには,を使用します。パスにはスラッシュを使用する必要があります。また、次のglobパターン構文を使用することもできます。

  • * - パスセグメント内の0個以上の文字に一致します。
  • ? - パスセグメント内の1文字に一致します。
  • ** - 0個を含む任意の数のパスセグメントに一致します。
  • {} - 条件をグループ化します (例: {**/*.html,**/*.txt} はすべてのHTMLファイルとテキストファイルに一致します)。
  • [] - 一致させる文字の範囲を宣言します (example.[0-9]example.0example.1などに一致します)。
  • [!...] - 一致させる文字の範囲を否定します (example.[!0-9]example.aexample.b に一致しますが、example.0 には一致しません)。

VS Codeは、興味のない検索結果の数を減らすため、デフォルトで一部のフォルダを除外します (例: node_modules)。設定を開き、files.exclude および search.exclude セクションでこれらのルールを変更できます。

検索ビューのglobパターンは、files.excludesearch.exclude のような設定とは異なる動作をすることに注意してください。設定では、ワークスペース内のサブフォルダfolder1/exampleにあるexampleという名前のフォルダに一致させるには、**/exampleを使用する必要があります。検索ビューでは、**プレフィックスは省略可能です。これらの設定のglobパターンは、常にワークスペースフォルダのパスに対して相対的に評価されます。

また、除外するファイル ボックスにある 除外設定と無視ファイルを使用する トグルボタンにも注意してください。このトグルは、.gitignoreファイルによって無視されたファイル、および/またはfiles.exclude および search.exclude 設定によって一致したファイルを除外するかどうかを決定します。

ヒント

エクスプローラーから、フォルダを右クリックしてフォルダ内で検索を選択すると、そのフォルダ内のみを検索できます。

検索と置換

ファイルをまたいで検索と置換を行うこともできます。検索ウィジェットを展開して、置換テキストボックスを表示します。

search and replace

置換テキストボックスにテキストを入力すると、保留中の変更の差分表示が表示されます。置換テキストボックスからすべてのファイルをまたいで置換したり、1つのファイル内で全て置換したり、単一の変更を置換したりできます。

search and replace diff view

ヒント

(Windows、Linux Down) および (Windows、Linux Up) を使用して、検索語の履歴を移動することで、以前の検索語をすばやく再利用できます。

正規表現置換での大文字/小文字の変更

VS Codeは、エディター内またはグローバルに検索と置換を行う際に、正規表現マッチンググループの大文字/小文字を変更することをサポートしています。これは修飾子\u\U\l\Lを使用して行われ、\u\lは単一の文字を大文字/小文字にし、\U\Lはマッチンググループの残りの部分を大文字/小文字にします。

Changing case while doing find and replace

修飾子は積み重ねることもできます。たとえば、\u\u\u$1はグループの最初の3文字を大文字にし、\l\U$1は最初の文字を小文字にし、残りを大文字にします。キャプチャグループは置換文字列内で$nとして参照され、nはキャプチャグループの順序です。

検索エディター

検索エディターを使用すると、ワークスペースの検索結果をフルサイズのエディターで表示でき、シンタックスハイライトとオプションの周辺コンテキスト行が含まれます。

以下は、「SearchEditor」という単語の検索結果で、コンテキストとして一致箇所の前後2行のテキストが表示されています。

Search Editor overview

検索エディターを開く コマンドは、既存の検索エディターがあればそれを開き、なければ新しく作成します。新しい検索エディター コマンドは、常に新しい検索エディターを作成します。

検索エディターでは、F12で現在のエディターグループでソースの場所を開く、または⌘K F12 (Windows、Linux Ctrl+K F12)で横のエディターで場所を開くなど、定義へ移動アクションを使用して結果をナビゲートできます。さらに、search.searchEditor.singleClickBehavioursearch.searchEditor.doubleClickBehaviour の設定で、検索結果をシングルクリックまたはダブルクリックした場合の動作を構成できます。例えば、ピーク定義ウィンドウを開くか、ソースの場所を開くなどです。

検索ビューの上部にある 新しい検索エディターを開く ボタンを使用したり、結果ツリーの上部にある エディターで開く リンク、または 検索エディター: エディターで結果を開く コマンドを使用して、既存の検索結果を検索ビューから検索エディターにコピーすることもできます。

Search Editor Button

上記の検索エディターは、検索ビューの上部にある 新しい検索エディターを開く ボタン (3番目のボタン) を選択して開かれました。

検索エディターのコマンドと引数

  • search.action.openNewEditor - 検索エディターを新しいタブで開きます。
  • search.action.openInEditor - 現在の検索結果を新しい検索エディターにコピーします。
  • search.action.openNewEditorToSide - 現在開いているウィンドウの隣に、検索エディターを新しいウィンドウで開きます。

新しい検索エディターの動作をキーボードショートカットで構成できるように、検索エディターコマンド (search.action.openNewEditorsearch.action.openNewEditorToSide) に渡すことができる引数が2つあります。

  • triggerSearch - 検索エディターが開かれたときに検索を自動的に実行するかどうか。デフォルトはtrueです。
  • focusResults - 検索結果にフォーカスを置くか、クエリ入力にフォーカスを置くか。デフォルトはtrueです。

例えば、以下のキーボードショートカットは、検索エディターが開かれたときに検索を実行しますが、フォーカスは検索クエリコントロールに残します。

{
  "key": "ctrl+o",
  "command": "search.action.openNewEditor",
  "args": { "query": "VS Code", "triggerSearch": true, "focusResults": false }
}

検索エディターのコンテキストのデフォルト

search.searchEditor.defaultNumberOfContextLines 設定のデフォルト値は1で、これは検索エディターで各結果行の前後1行のコンテキスト行が表示されることを意味します。

最後の検索エディター構成の再利用

search.searchEditor.reusePriorSearchConfiguration 設定 (デフォルトはfalse) を使用すると、新しい検索エディターを作成する際に、最後にアクティブだった検索エディターの構成を再利用できます。

IntelliSense

VS Codeは常に単語補完を提供しますが、JavaScript、JSON、HTML、CSS、SCSS、Less、C#、TypeScriptなどの豊富な言語では、真のIntelliSenseエクスペリエンスを提供します。言語サービスが可能な補完を知っている場合、入力するとIntelliSenseの提案がポップアップ表示されます。⌃Space (Windows、Linux Ctrl+Space) でいつでも手動でトリガーできます。デフォルトでは、TabまたはEnterが承認のキーボードトリガーですが、これらのキーボードショートカットをカスタマイズすることもできます。

ヒント

提案のフィルタリングはキャメルケースをサポートしているため、メソッド名の大文字の文字を入力することで提案を絞り込むことができます。例えば、「cra」と入力するとすぐに「createApplication」が表示されます。

ヒント

IntelliSenseの提案は、editor.quickSuggestionseditor.suggestOnTriggerCharacters設定を介して構成できます。

JavaScriptおよびTypeScript開発者は、npmjs の型宣言 (型定義) ファイルリポジトリを利用して、一般的なJavaScriptライブラリ (Node.js、React、Angular) のIntelliSenseを得ることができます。型宣言ファイルの使用に関する詳しい説明は、JavaScript言語トピックおよびNode.jsチュートリアルで見つけることができます。

詳細はIntelliSenseドキュメントをご覧ください。

フォーマット

VS Codeはソースコードのフォーマットを強力にサポートしています。エディターには2つの明示的なフォーマットアクションがあります。

  • ドキュメントのフォーマット (⇧⌥F (Windows Shift+Alt+F、Linux Ctrl+Shift+I)) - アクティブなファイル全体をフォーマットします。
  • 選択範囲のフォーマット (⌘K ⌘F (Windows、Linux Ctrl+K Ctrl+F)) - 選択されたテキストをフォーマットします。

これらはコマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) またはエディターのコンテキストメニューから呼び出すことができます。

VS Codeには、JavaScript、TypeScript、JSON、HTML、CSSのデフォルトのフォーマッターがあります。各言語には特定のフォーマットオプション (例: html.format.indentInnerHtml) があり、ユーザーまたはワークスペースの設定で好みに合わせて調整できます。同じ言語のフォーマットを提供する別の拡張機能がインストールされている場合は、デフォルトの言語フォーマッターを無効にすることもできます。

"html.format.enable": false

コードのフォーマットを手動で呼び出すだけでなく、入力、保存、貼り付けなどのユーザー操作に基づいてフォーマットをトリガーすることもできます。これらはデフォルトではオフですが、以下の設定を通じてこれらの動作を有効にできます。

すべてのフォーマッターが貼り付け時のフォーマットをサポートしているわけではありません。これは、選択範囲またはテキストの範囲のフォーマットをサポートする必要があるためです。

デフォルトのフォーマッターに加えて、他の言語やフォーマットツールをサポートする拡張機能をマーケットプレイスで見つけることができます。フォーマッターカテゴリがあるため、フォーマット拡張機能を簡単に検索して見つけることができます。拡張機能 ビューの検索ボックスに「formatters」または「category:formatters」と入力すると、VS Code内のフィルタリングされた拡張機能のリストが表示されます。

折りたたみ

行番号と行の開始の間にあるガターの折りたたみアイコンを使用して、ソースコードの領域を折りたたむことができます。マウスをガターの上に移動し、クリックして領域を折りたたんだり展開したりします。折りたたみアイコンでShift + クリックを使用すると、その領域と内部のすべての領域を折りたたんだり展開したりできます。

Folding

以下の操作も使用できます。

  • 折りたたむ (⌥⌘[ (Windows、Linux Ctrl+Shift+[)) は、カーソル位置で最も内側の折りたたまれていない領域を折りたたみます。
  • 展開 (⌥⌘] (Windows、Linux Ctrl+Shift+])) は、カーソル位置で折りたたまれた領域を展開します。
  • 折りたたみの切り替え (⌘K ⌘L (Windows、Linux Ctrl+K Ctrl+L)) は、カーソル位置の領域を折りたたんだり展開したりします。
  • 再帰的に折りたたむ (⌘K ⌘[ (Windows、Linux Ctrl+K Ctrl+[)) は、カーソル位置で最も内側の折りたたまれていない領域とその領域内のすべての領域を折りたたみます。
  • 再帰的に展開 (⌘K ⌘] (Windows、Linux Ctrl+K Ctrl+])) は、カーソル位置の領域とその領域内のすべての領域を展開します。
  • 全て折りたたむ (⌘K ⌘0 (Windows、Linux Ctrl+K Ctrl+0)) は、エディター内のすべての領域を折りたたみます。
  • 全て展開 (⌘K ⌘J (Windows、Linux Ctrl+K Ctrl+J)) は、エディター内のすべての領域を展開します。
  • レベルXを折りたたむ (レベル2の場合は⌘K ⌘2 (Windows、Linux Ctrl+K Ctrl+2)) は、現在のカーソル位置にある領域を除く、レベルXのすべての領域を折りたたみます。
  • すべてのブロックコメントを折りたたむ (⌘K ⌘/ (Windows、Linux Ctrl+K Ctrl+/)) は、ブロックコメントトークンで始まるすべての領域を折りたたみます。

折りたたみ領域は、デフォルトでは行のインデントに基づいて評価されます。折りたたみ領域は、ある行が1つ以上の続く行よりも小さなインデントを持つ場合に開始し、同じかそれ以下のインデントを持つ行が存在する場合に終了します。

折りたたみ領域は、エディターで設定された言語のシンタックストークンに基づいて計算することもできます。以下の言語はすでにシンタックス認識の折りたたみを提供しています: Markdown、HTML、CSS、LESS、SCSS、およびJSON。

上記の言語のいずれか (またはすべて) でインデントベースの折りたたみに戻したい場合は、以下を使用します。

  "[html]": {
    "editor.foldingStrategy": "indentation"
  },

領域は、各言語で定義されたマーカーによっても定義できます。現在、以下の言語にマーカーが定義されています。

言語 領域開始 領域終了
Bat ::#region または REM #region ::#endregion または REM #endregion
C# #region #endregion
C/C++ #pragma region #pragma endregion
CSS/Less/SCSS /*#region*/ /*#endregion*/
Coffeescript #region #endregion
F# //#region または (#_region) //#endregion または (#_endregion)
Java //#region または //<editor-fold> //#endregion または //</editor-fold>
Markdown <!-- #region --> <!-- #endregion -->
Perl5 #region または =pod #endregion または =cut
PHP #region #endregion
PowerShell #region #endregion
Python #region または # region #endregion または # endregion
TypeScript/JavaScript //#region //#endregion
Visual Basic #Region #End Region

マーカーで定義された領域のみを折りたたんだり展開したりするには、以下を使用します。

  • マーカー領域を折りたたむ (⌘K ⌘8 (Windows、Linux Ctrl+K Ctrl+8)) は、すべてのマーカー領域を折りたたみます。
  • マーカー領域を展開 (⌘K ⌘9 (Windows、Linux Ctrl+K Ctrl+9)) は、すべてのマーカー領域を展開します。

選択範囲の折りたたみ

選択範囲から手動折りたたみ範囲を作成 コマンド (⌘K ⌘, (Windows、Linux Ctrl+K Ctrl+,)) は、現在選択されている行から折りたたみ範囲を作成し、それを折りたたみます。この範囲は手動折りたたみ範囲と呼ばれ、折りたたみプロバイダーによって計算された範囲の上に適用されます。

手動折りたたみ範囲は、手動折りたたみ範囲を削除 コマンド (⌘K ⌘. (Windows、Linux Ctrl+K Ctrl+.)) で削除できます。

手動折りたたみ範囲は、プログラミング言語の折りたたみサポートがない場合に特に便利です。

インデント

VS Codeでは、テキストのインデントを制御し、スペースまたはタブストップを使用するかどうかを設定できます。デフォルトでは、VS Codeはスペースを挿入し、Tabキーごとに4つのスペースを使用します。別のデフォルトを使用したい場合は、editor.insertSpaceseditor.tabSize設定を変更できます。

    "editor.insertSpaces": true,
    "editor.tabSize": 4,

自動検出

VS Codeは開いているファイルを分析し、ドキュメントで使用されているインデントを決定します。自動検出されたインデントは、デフォルトのインデント設定を上書きします。検出された設定はステータスバーの右側に表示されます。

auto detect indentation

ステータスバーのインデント表示をクリックすると、開いているファイルのデフォルト設定を変更したり、タブストップとスペースを変換したりできるインデントコマンドのドロップダウンが表示されます。

indentation commands

VS Codeの自動検出は、2、4、6、または8スペースのインデントをチェックします。ファイルが異なる数のスペースを使用している場合、インデントが正しく検出されない可能性があります。例えば、慣例として3スペースでインデントする場合、editor.detectIndentation をオフにし、タブサイズを明示的に3に設定することをお勧めします。

    "editor.detectIndentation": false,
    "editor.tabSize": 3,

ファイルエンコーディングのサポート

ファイルのエンコーディングは、ユーザー設定またはワークスペース設定files.encoding設定を使用して、グローバルまたはワークスペースごとに設定できます。

files.encoding setting

ファイルのエンコーディングはステータスバーで確認できます。

Encoding in status bar

ステータスバーのエンコーディングボタンをクリックすると、アクティブなファイルを異なるエンコーディングで再開または保存できます。

Reopen or save with a different encoding

その後、エンコーディングを選択します。

Select an encoding

上書きモード

リリース1.96以前では、Vim キーマップ拡張機能をインストールしていない限り、VS Codeはカーソル位置に文字が挿入される挿入モードのみをサポートしていました。

リリース1.96以降、VS Codeは上書きモードをサポートしています。これにより、カーソル位置に文字を挿入する代わりに、既存の文字を上書きできます。デフォルトでは、上書きモードはオフになっています。

挿入モードと上書きモードを切り替えるには、コマンドパレットで上書き/挿入モードを切り替えるコマンドを実行するか、(⌥⌘O (Windows、Linux Insert)) を押します。上書きモードの場合、ステータスバーのインジケーターにはOVRと表示されます。

上書きモードのカーソルスタイルは、editor.overtypeCursorStyle 設定を構成することで変更できます。

貼り付け時にテキストを上書きするには、editor.overtypeOnPaste 設定を使用します。この設定が有効になるには、上書きモードになっている必要があります。

ファイルの比較

VS Codeは、現在のファイルまたは任意の2つのファイルの内容を比較するいくつかの方法をサポートしています。

エディターでアクティブなファイルを開いている場合、以下の比較オプションがあります。

  • ワークスペースファイルと比較: コマンドパレットで、ファイル: アクティブファイルを...と比較 を選択し、比較する別のファイルを選択します。
  • クリップボードと比較: コマンドパレットで、ファイル: アクティブファイルをクリップボードと比較 (⌘K C (Windows、Linux Ctrl+K C)) を選択し、現在のファイルをクリップボードの内容と比較します。
  • 保存済みと比較: コマンドパレットで、ファイル: アクティブファイルを保存済みと比較 (⌘K D (Windows、Linux Ctrl+K D)) を選択し、現在のファイルを最後に保存したバージョンと比較します。

任意の2つのファイルを比較するには

  • エクスプローラービューでファイルを右クリックし、比較対象を選択 を選択します。次に、2番目のファイルを右クリックし、選択したものと比較 を選択します。
  • 2つの空のエディターウィンドウ間で比較を開始するには、コマンドパレットからファイル: 新規無題テキストファイルを比較を選択します。
ヒント

コマンドラインから--diffオプションを使用してVS Codeを起動し、2つのファイルを比較できます。VS Codeコマンドラインインターフェースについて詳しくはこちらをご覧ください。

次のステップ

基本的なユーザーインターフェースについては説明しました。VS Codeには他にもたくさんの機能があります。以下を読み進めて、

よくある質問

グローバルに検索と置換は可能ですか?

はい、検索ビューのテキストボックスを展開して置換テキストフィールドを含めます。ワークスペース内のすべてのファイルをまたいで検索と置換を行うことができます。VS Codeをフォルダで開いていない場合、検索は現在開いているファイルのみで実行されることに注意してください。

global search and replace

折り返しをオンにするにはどうすればよいですか?

折り返しは、editor.wordWrap設定で制御できます。デフォルトでは、editor.wordWrapoff ですが、on に設定すると、テキストはエディターのビューポート幅で折り返されます。

    "editor.wordWrap": "on"

VS Codeセッションの折り返しは、⌥Z (Windows、Linux Alt+Z) で切り替えることができます。

エディターに垂直カラムルーラーを追加するには、editor.rulers 設定を使用します。この設定は、垂直ルーラーを配置したい列文字位置の配列を受け取ります。

他のエディターと同様に、切り取りコピーなどのコマンドは、折り返された行全体に適用されます。トリプルクリックすると、折り返された行全体が選択されます。Homeを2回押すと、カーソルが行の先頭に移動します。Endを2回押すと、カーソルが行の末尾に移動します。

折り返された行に余分なカーソルを配置しないようにするにはどうすればよいですか?

現在の選択範囲の上下にカーソルを追加する際に、行の折り返しを無視したい場合は、キーボードショートカットのargs{ "logicalLine": true }を次のように渡すことができます。

{
  "key": "shift+alt+down",
  "command": "editor.action.insertCursorBelow",
  "when": "textInputFocus",
  "args": { "logicalLine": true },
},
{
  "key": "shift+alt+up",
  "command": "editor.action.insertCursorAbove",
  "when": "textInputFocus",
  "args": { "logicalLine": true },
},