{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"definitions": {
		"configurations": {
			"type": "array",
			"items": {
				"type": "object",
				"required": [
					"name"
				],
				"properties": {
					"name": {
						"markdownDescription": "構成識別子です。`Mac`、`Linux`、`Win32` は、それらのプラットフォームで自動選択される構成の特別な識別子ですが、どの識別子でも使用できます。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerPath": {
						"markdownDescription": "より正確な IntelliSense を有効にするために使用されているコンパイラの完全なパスです (例: `/usr/bin/gcc`)。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": [
							"null",
							"string"
						]
					},
					"compilerArgs": {
						"markdownDescription": "たとえば `-nostdinc++`、`-m32` など、使用されているインクルードや定義を変更するコンパイラ引数。追加のスペース区切りの引数を受け取る引数は、配列内の別の引数として入力する必要があります。たとえば、`--sysroot <arg>` の場合、`\"--sysroot\", \"<arg>\"` を使用します。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered, except potentially the `arg` text which is a placeholder and not literal text, i.e. an abbreviation for `argument`.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"cStandard": {
						"description": "IntelliSense に使用する C 言語標準のバージョンです。注意: GNU 標準は、set コンパイラをクエリして GNU 定義を取得するためにのみ使用されるため、IntelliSense は同等の C 標準バージョンをエミュレートします。",
						"type": "string",
						"enum": [
							"c89",
							"c99",
							"c11",
							"c17",
							"c23",
							"gnu89",
							"gnu99",
							"gnu11",
							"gnu17",
							"gnu23",
							"${default}"
						]
					},
					"cppStandard": {
						"description": "IntelliSense に使用する C++ 言語標準のバージョンです。注意: GNU 標準は、set コンパイラをクエリして GNU 定義を取得するためにのみ使用されるため、IntelliSense は同等の C++ 標準バージョンをエミュレートします。",
						"type": "string",
						"enum": [
							"c++98",
							"c++03",
							"c++11",
							"c++14",
							"c++17",
							"c++20",
							"c++23",
							"c++26",
							"gnu++98",
							"gnu++03",
							"gnu++11",
							"gnu++14",
							"gnu++17",
							"gnu++20",
							"gnu++23",
							"gnu++26",
							"${default}"
						]
					},
					"compileCommands": {
						"oneOf": [
							{
								"type": "string"
							},
							{
								"type": "array",
								"items": {
									"type": "string"
								},
								"uniqueItems": true
							}
						],
						"markdownDescription": "ワークスペースの `compile_commands.json` ファイルへの完全なパスまたは完全なパスの一覧。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
					},
					"includePath": {
						"markdownDescription": "インクルードされたヘッダーを検索する際に IntelliSense エンジンによって使用されるパスの一覧です。これらのパスでの検索は再帰的ではありません。再帰的な検索を示すには、`**` を指定します。たとえば、`${workspaceFolder}/**` を指定するとすべてのサブディレクトリが検索されますが、`${workspaceFolder}` はそうではありません。通常、これにはシステム インクルードを含めるべきではありません。 代わりに、`C_Cpp.default.compilerPath` を設定します。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"macFrameworkPath": {
						"description": "Mac フレームワークからインクルードされたヘッダーを検索する際に IntelliSense エンジンが使用するパスの一覧です。Mac 構成でのみサポートされます。",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"windowsSdkVersion": {
						"markdownDescription": "Windows で使用する Windows SDK インクルード パスのバージョン (例: `10.0.17134.0`)。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"pattern": "^\\d{2}\\.\\d{1}\\.\\d{5}\\.\\d{1}$|^8\\.1$"
					},
					"dotConfig": {
						"description": "Kconfig システムによって作成された.config ファイルへのパス。Kconfig システムは、プロジェクトをビルドするためのすべての定義を含むファイルを生成します。Kconfig システムを使用するプロジェクトの例としては、Linux Kernel と NuttX RTOS があります。",
						"type": "string"
					},
					"defines": {
						"markdownDescription": "ファイルを解析する際に IntelliSense エンジンが使用するプリプロセッサ定義の一覧です。必要に応じて、`=` を使用して値を設定します (例: `VERSION=1`)。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"intelliSenseMode": {
						"markdownDescription": "プラットフォームおよびアーキテクチャのバリアント (MSVC、gcc、Clang) へのマップに使用する IntelliSense モードです。値が設定されていない、または `${default}` に設定されている場合、拡張機能ではそのプラットフォームの既定値が選択されます。Windows の既定値は `windows-msvc-x64`、Linux の既定値は `linux-gcc-x64`、macOS の既定値は `macos-clang-x64` です。`<コンパイラ>-<アーキテクチャ>` バリエント (例: `gcc-x64`) のみを指定する IntelliSense モードはレガシ モードであり、ホスト プラットフォームに基づいて `<プラットフォーム>-<コンパイラ>-<アーキテクチャ>` に自動的に変換されます。",
						"descriptionHint": "Uses of words 'platform', 'compiler', and 'architecture' are meant to be descriptive placeholders for literal values, so they should be translated, but without changing the surrounding `<>-<>` symbols. All other text inside `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"enum": [
							"macos-clang-x86",
							"macos-clang-x64",
							"macos-clang-arm",
							"macos-clang-arm64",
							"macos-gcc-x86",
							"macos-gcc-x64",
							"macos-gcc-arm",
							"macos-gcc-arm64",
							"linux-clang-x86",
							"linux-clang-x64",
							"linux-clang-arm",
							"linux-clang-arm64",
							"linux-gcc-x86",
							"linux-gcc-x64",
							"linux-gcc-arm",
							"linux-gcc-arm64",
							"windows-clang-x86",
							"windows-clang-x64",
							"windows-clang-arm",
							"windows-clang-arm64",
							"windows-gcc-x86",
							"windows-gcc-x64",
							"windows-gcc-arm",
							"windows-gcc-arm64",
							"windows-msvc-x86",
							"windows-msvc-x64",
							"windows-msvc-arm",
							"windows-msvc-arm64",
							"clang-x86",
							"clang-x64",
							"clang-arm",
							"clang-arm64",
							"gcc-x86",
							"gcc-x64",
							"gcc-arm",
							"gcc-arm64",
							"msvc-x86",
							"msvc-x64",
							"msvc-arm",
							"msvc-arm64",
							"${default}"
						]
					},
					"forcedInclude": {
						"description": "翻訳単位のインクルード ファイルの前に含める必要があるファイルの一覧。",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"configurationProvider": {
						"description": "ソース ファイルの IntelliSense 構成情報を提供できる VS Code 拡張機能の ID です。",
						"type": "string"
					},
					"mergeConfigurations": {
						"markdownDescription": "`true` に設定して、`includePath`、`defines`、`forcedInclude`、`browse.path` を構成プロバイダーから受信したものとマージします。",
						"descriptionHint": "{Locked=\"`true`\"} {Locked=\"`includePath`\"} {Locked=\"`defines`\"} {Locked=\"`forcedInclude`\"} {Locked=\"`browse.path`\"}",
						"type": "boolean"
					},
					"browse": {
						"type": "object",
						"properties": {
							"limitSymbolsToIncludedHeaders": {
								"markdownDescription": "ヘッダーとして直接的または間接的にインクルードされたファイルのみを処理する場合は `true` に設定し、指定したインクルード パスにあるすべてのファイルを処理する場合は `false` に設定します。",
								"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": [
									"boolean",
									"string"
								]
							},
							"databaseFilename": {
								"description": "生成されるシンボル データベースへのパスです。相対パスを指定した場合、ワークスペースの既定のストレージの場所に対する相対パスになります。",
								"type": "string"
							},
							"path": {
								"markdownDescription": "ワークスペース シンボルのインデックス作成と解析に使用するパスの一覧です ([定義へ移動]、[すべての参照を検索] などに使用する)。既定では、これらのパスでの検索は再帰的です。非再帰的な検索を示すには `*` を指定します。たとえば、`${workspaceFolder}` を指定するとすべてのサブディレクトリが検索されますが、`${workspaceFolder}/*` を指定すると検索されません。",
								"descriptionHint": "Text in '' is a command and should be translated in the same way that VS Code itself translates it. Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": "array",
								"items": {
									"type": "string"
								}
							}
						},
						"additionalProperties": false
					},
					"recursiveIncludes": {
						"type": "object",
						"properties": {
							"reduce": {
								"markdownDescription": "`always` に設定すると、IntelliSense に提供される再帰インクルード パスの数は常に #include ステートメントによって現在参照されているパスのみに減らされます。これには、まずファイルを解析して、どのヘッダーが含まれているかを判断する必要があります。すべての再帰インクルード パスを IntelliSense に提供するには、`never` に設定します。非常に多数の再帰インクルード パスが関係している場合、再帰インクルード パスの数を減らすと、IntelliSense のパフォーマンスが向上する可能性があります。再帰インクルード パスの数を減らさないことで、どのインクルード パスを提供するかを判断するためのファイル解析が不要になり、IntelliSense のパフォーマンスが向上する場合があります。現在、`default` 値は、IntelliSense に提供される再帰インクルード パスの数を減らすためのものです。",
								"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": "string",
								"enum": [
									"always",
									"never",
									"default",
									"${default}"
								]
							},
							"priority": {
								"markdownDescription": "再帰インクルード パスの優先順位。`beforeSystemIncludes` に設定すると、再帰インクルード パスはシステム インクルード パスの前に検索されます。`afterSystemIncludes` に設定すると、再帰インクルード パスはシステム インクルード パスの後に検索されます。`beforeSystemIncludes` に設定すると、コンパイラの検索順序により近くなりますが、`afterSystemIncludes` の方がパフォーマンスが向上する場合があります。",
								"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": "string",
								"enum": [
									"beforeSystemIncludes",
									"afterSystemIncludes",
									"${default}"
								]
							},
							"order": {
								"markdownDescription": "再帰インクルードのサブディレクトリが検索される順序。",
								"type": "string",
								"enum": [
									"depthFirst",
									"breadthFirst",
									"${default}"
								]
							}
						},
						"additionalProperties": false
					},
					"customConfigurationVariables": {
						"type": "object",
						"markdownDescription": "`launch.json` または `tasks.json` で入力変数として使用するためにコマンド `${cpptools:activeConfigCustomVariable}` を使用して照会できるカスタム変数。",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"patternProperties": {
							"(^.+$)": {
								"type": "string"
							}
						},
						"additionalProperties": false
					}
				},
				"additionalProperties": false
			}
		},
		"env": {
			"type": "object",
			"markdownDescription": "`${変数}` 構文または `${env:変数}` 構文を使用して、このファイルのどこからでも再利用できるカスタム変数。",
			"descriptionHint": "The word 'variable' within curly braces should be translated. The \"env\" should not be translated, and the capitalization, spacing, and punctuation (\"${:}\", including the ``) should be preserved.",
			"patternProperties": {
				"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^execPath$)(?!^pathSeparator$)(?!^default$)(^.+$)": {
					"oneOf": [
						{
							"type": "string"
						},
						{
							"type": "array",
							"items": {
								"type": "string"
							}
						}
					]
				}
			},
			"additionalProperties": false
		},
		"version": {
			"type": "integer",
			"description": "構成ファイルのバージョンです。このプロパティは、拡張機能によって管理されています。変更しないでください。"
		},
		"enableConfigurationSquiggles": {
			"type": "boolean",
			"markdownDescription": "拡張機能が、`c_cpp_properties.json` で検出されたエラーを報告するかどうかを制御します。",
			"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
		}
	},
	"properties": {
		"configurations": {
			"$ref": "#/definitions/configurations"
		},
		"env": {
			"$ref": "#/definitions/env"
		},
		"version": {
			"$ref": "#/definitions/version"
		},
		"enableConfigurationSquiggles": {
			"$ref": "#/definitions/enableConfigurationSquiggles"
		}
	},
	"required": [
		"configurations",
		"version"
	],
	"additionalProperties": false
}