{
	"name": "phptools-vscode",
	"displayName": "PHP",
	"description": "All-in-One PHP support - IntelliSense, Debug, Formatter, Code Lenses, Code Fixes, Linting, Refactoring, PHPUnit Tests, Web Server, and more.",
	"icon": "icons/phptools-icon.png",
	"version": "1.70.18740",
	"qna": "https://community.devsense.com/",
	"publisher": "DEVSENSE",
	"preview": false,
	"license": "LicenseRef-LICENSE",
	"galleryBanner": {
		"color": "#b9dcf4",
		"theme": "light"
	},
	"repository": {
		"type": "git",
		"url": "https://github.com/DEVSENSE/phptools-docs"
	},
	"homepage": "https://www.devsense.com/",
	"engines": {
		"vscode": "^1.70.0",
		"node": "^18.0.0"
	},
	"categories": [
		"Programming Languages",
		"Debuggers",
		"Snippets",
		"Linters",
		"Formatters",
		"Testing"
	],
	"keywords": [
		"php",
		"debug",
		"autocomplete",
		"refactoring",
		"testing",
		"completion",
		"codeactions",
		"format",
		"IntelliSense",
		"Xdebug",
		"test",
		"phpunit",
		"composer",
		"profiler",
		"server",
		"built-in"
	],
	"extensionPack": [
		"devsense.intelli-php-vscode",
		"devsense.composer-php-vscode",
		"devsense.profiler-php-vscode"
	],
	"activationEvents": [
		"onDebugResolve:php",
		"onDebugDynamicConfigurations:php",
		"onLanguage:php",
		"onLanguage:blade",
		"workspaceContains:phpunit.*"
	],
	"main": "./out/src/extension.js",
	"extensionKind": [
		"workspace"
	],
	"contributes": {
		"languages": [
			{
				"id": "php",
				"aliases": [
					"PHP",
					"php"
				]
			},
			{
				"id": "phpx",
				"aliases": [
					"PHPX",
					"phpx"
				],
				"configuration": "./syntaxes/phpx.configuration.json"
			}
		],
		"grammars": [
			{
				"language": "phpx",
				"scopeName": "source.phpx",
				"path": "./syntaxes/phpx.json"
			},
			{
				"scopeName": "html-blade.injection",
				"path": "./syntaxes/blade.injection.json",
				"injectTo": [
					"text.html.php"
				],
				"embeddedLanguages": {
					"meta.embedded.inline.phpx": "phpx"
				}
			}
		],
		"semanticTokenScopes": [
			{
				"language": "php",
				"scopes": {
					"keyword": [
						"keyword.other.phpdoc.php"
					]
				}
			}
		],
		"breakpoints": [
			{
				"language": "php"
			}
		],
		"configuration": [
			{
				"title": "PHP",
				"properties": {
					"php.executablePath": {
						"description": "Default path to the 'php' executable.",
						"type": [
							"string",
							"array",
							"null"
						],
						"scope": "window"
					},
					"php.format.autoimport": {
						"markdownDeprecationMessage": "Use `#php.completion.autoimport#` instead."
					},
					"php.format.autoimport-docblock": {
						"markdownDeprecationMessage": "Use `#php.completion.autoimport-docblock#` instead."
					},
					"php.format.exclude": {
						"markdownDescription": "Exclude document format and format-on-type in specific files and folders. Specify a glob pattern or array of glob patterns.",
						"default": null,
						"type": [
							"null",
							"string",
							"array"
						],
						"examples": [
							"cache/**"
						],
						"scope": "window"
					},
					"php.files.exclude": {
						"markdownDescription": "%php.files.exclude.title%",
						"default": null,
						"type": [
							"null",
							"object"
						],
						"examples": [
							{
								"**/tmp/**": true
							}
						],
						"scope": "window"
					},
					"php.codeActions.enabled": {
						"markdownDescription": "%php.codeActions.enabled%",
						"type": "boolean",
						"default": true
					},
					"php.completion.starredSuggestions": {
						"markdownDescription": "%php.completion.starredSuggestions.title%",
						"scope": "machine",
						"default": true,
						"type": "boolean"
					},
					"php.completion.intelliPHP.preSelect": {
						"markdownDescription": "%php.completion.intelliPHP.preSelect%",
						"markdownDeprecationMessage": "%php.completion.intelliPHP.preSelect.deprecated%",
						"type": "boolean",
						"default": false
					},
					"php.completion.parameters": {
						"markdownDescription": "Automatically insert parentheses `()` after completion of functions, and trigger parameter hints.",
						"type": "string",
						"default": "parentheses",
						"enum": [
							"none",
							"parentheses",
							"parameters"
						],
						"markdownEnumDescriptions": [
							"Do not insert parentheses and do not trigger parameters completion.",
							"Insert parentheses `()` after the function completion and place cursor inside them.",
							"Insert parentheses and parameters snippet."
						],
						"scope": "window"
					},
					"php.completion.docblock": {
						"markdownDescription": "Generate DocBlock comment automatically by typing `/**` above a declaration.",
						"type": "boolean",
						"default": true
					},
					"php.completion.showNamespaceLabel": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "Show item namespace in the completion list.",
						"scope": "window"
					},
					"php.completion.showParameters": {
						"type": "boolean",
						"default": false,
						"markdownDescription": "Show function signature in the completion list.",
						"scope": "window"
					},
					"php.completion.showDeprecated": {
						"type": [
							"boolean",
							"string"
						],
						"default": true,
						"enum": [
							true,
							false,
							"hide",
							"showNormal",
							"showStrikethrough"
						],
						"markdownDescription": "Customize deprecated symbols in the completion list.",
						"scope": "window"
					},
					"php.completion.autoimport": {
						"markdownDescription": "%php.completion.autoimport.description%",
						"type": "string",
						"default": "auto-import",
						"enum": [
							"auto-import",
							"auto-import-grouped",
							"fqn",
							"none",
							"hide"
						],
						"markdownEnumDescriptions": [
							"%php.completion.autoimport.auto-import%",
							"%php.completion.autoimport.grouped%",
							"%php.completion.autoimport.fqn%",
							"%php.completion.autoimport.none%",
							"%php.completion.autoimport.hide%"
						],
						"scope": "window"
					},
					"php.completion.autoimport-docblock": {
						"markdownDescription": "%php.completion.autoimport-docblock.description%",
						"type": "string",
						"default": "default",
						"enum": [
							"fqn",
							"auto-import",
							"auto-import-grouped",
							"none",
							"hide",
							"default"
						],
						"markdownEnumDescriptions": [
							"%php.completion.autoimport.fqn%",
							"%php.completion.autoimport.auto-import%",
							"%php.completion.autoimport.grouped%",
							"%php.completion.autoimport.none%",
							"%php.completion.autoimport.hide%",
							"Use the setting from `#php.completion.autoimport#` option."
						],
						"scope": "window"
					},
					"php.completion.namingConvention": {
						"type": "string",
						"markdownDescription": "Naming convention for generated member names.",
						"enum": [
							"camelCase",
							"PascalCase",
							"snake_case"
						],
						"default": "camelCase",
						"scope": "window"
					},
					"php.completion.getterSnippet": {
						"type": "string",
						"markdownDescription": "Code to be placed inside the getter function. This is inserted using code action over a private class properties to generate `getter` function.\n\nBy default it's similar to:\n\n```php\nreturn {PROPERTY};\n```\nUse variables:\n- `{PROPERTY}` (`$this->property` or `self::property`)\n- `{THIS}` (`$this` or ``)\n- `{NAME}` (the property name without `$`).",
						"scope": "window"
					},
					"php.completion.setterSnippet": {
						"type": "string",
						"markdownDescription": "Code to be placed inside the setter function. This is inserted using code action over a private class properties to generate `setter` function.\n\nBy default it's similar to:\n\n```php\n{PROPERTY} = ${NAME};\nreturn {THIS};\n```\nUse variables:\n- `{PROPERTY}` (`$this->property` or `self::property`)\n- `{THIS}` (`$this` or ``)\n- `{NAME}` (the property name without `$`).",
						"scope": "window"
					},
					"php.sortUses.caseSensitive": {
						"type": "boolean",
						"markdownDescription": "Whether sorting of `use` statements is case sensitive. Case sensitive sorting puts upper case letters on top.",
						"scope": "window",
						"default": false
					},
					"php.inlayHints.insertOnDoubleClick": {
						"type": "boolean",
						"markdownDescription": "%php.inlayHints.insertOnDoubleClick%",
						"scope": "application",
						"default": true
					},
					"php.inlayHints.parameters.enabled": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "%php.inlayHints.parameters.enabled%",
						"scope": "window"
					},
					"php.inlayHints.parameters.suppressNameMatchingValue": {
						"type": "boolean",
						"default": false,
						"markdownDescription": "%php.inlayHints.parameters.suppressNameMatchingValue%",
						"scope": "window"
					},
					"php.inlayHints.parameters.byReference": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "%php.inlayHints.parameters.byReference%",
						"scope": "window"
					},
					"php.inlayHints.types.return": {
						"type": [
							"boolean",
							"string"
						],
						"enum": [
							true,
							false,
							"named"
						],
						"enumItemLabels": [
							"Enable",
							"Disable",
							"Named Functions Only"
						],
						"markdownEnumDescriptions": [
							"%php.inlayHints.types.return.true%",
							"%php.inlayHints.types.return.false%",
							"%php.inlayHints.types.return.named%"
						],
						"default": true,
						"markdownDescription": "%php.inlayHints.types.return%",
						"scope": "window"
					},
					"php.inlayHints.types.variable": {
						"type": "boolean",
						"default": false,
						"markdownDescription": "%php.inlayHints.types.variable%",
						"scope": "window"
					},
					"php.inlayHints.types.lambdaParameter": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "%php.inlayHints.types.lambdaParameter%",
						"scope": "window"
					},
					"php.inlayHints.types.suppressVariableFromLiteral": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "%php.inlayHints.types.suppressVariableFromLiteral%",
						"scope": "window"
					},
					"php.docblock.colorMode": {
						"type": "string",
						"default": null,
						"scope": "application",
						"enum": [
							null,
							"fallback",
							"simple"
						],
						"enumItemLabels": [
							"default",
							"fallback",
							"simple"
						],
						"markdownEnumDescriptions": [
							"%php.docblock.colorMode.default%",
							"%php.docblock.colorMode.fallback%",
							"%php.docblock.colorMode.simple%"
						]
					},
					"php.docblock.packageSnippet": {
						"type": [
							"object",
							"boolean"
						],
						"default": {},
						"examples": [
							{
								"enable": true,
								"@author": "${name:John}"
							}
						],
						"markdownDescription": "DocBlock snippet at file beginning. Example:\n```json\n\"php.docblock.packageSnippet\": {\n  \"@author\": \"${name:John}\",\n  \"@copyright\": \"(c) $CURRENT_YEAR\"\n}\n```"
					},
					"php.docblock.classSnippet": {
						"type": [
							"object",
							"boolean"
						],
						"default": {},
						"examples": [
							{
								"enable": true,
								"@author": "${name:John}"
							}
						],
						"markdownDescription": "DocBlock snippet above a class/interface/trait/enum. Example:\n```json\n\"php.docblock.classSnippet\": {\n  \"@author\": \"${name:John}\",\n  \"@copyright\": \"(c) $CURRENT_YEAR\"}\n```"
					},
					"php.docblock.propertySnippet": {
						"type": [
							"object",
							"boolean"
						],
						"default": {},
						"examples": [
							{
								"enable": true,
								"@author": "${name:John}"
							}
						],
						"markdownDescription": "DocBlock snippet above a property. Example:\n```json\n\"php.docblock.propertySnippet\": {\n  \"@author\": \"${name:John}\"\n}\n```"
					},
					"php.docblock.functionSnippet": {
						"type": [
							"object",
							"boolean"
						],
						"default": {},
						"examples": [
							{
								"enable": true,
								"@author": "${name:John}",
								"@throws": false
							}
						],
						"markdownDescription": "DocBlock snippet above a function. Example:\n```json\n\"php.docblock.functionSnippet\": {\n  \"@author\": \"${name:John}\",\n  \"@throws\": false\n}\n```"
					},
					"php.docblock.variableSnippet": {
						"type": [
							"object",
							"boolean"
						],
						"default": {},
						"examples": [
							{
								"enable": true,
								"singleline": true
							}
						],
						"markdownDescription": "DocBlock snippet above a variable assignment. Example:\n```json\n\"php.docblock.variableSnippet\": {\n  \"singleline\": true\n}\n```"
					},
					"php.docblock.getterSetterSnippet": {
						"type": [
							"object",
							"boolean"
						],
						"default": {},
						"examples": [
							{
								"enable": true,
								"@author": "${name:John}",
								"summary": false
							}
						],
						"markdownDescription": "Snippet for DocBlocks generated using getter/setter code action"
					},
					"php.hover.parameters": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "Show function parameters description in the mouse hover tool-tip.",
						"scope": "window"
					},
					"php.hover.parametersFullName": {
						"type": "boolean",
						"default": false,
						"markdownDescription": "Show fully qualified parameter type name in function tool-tip.",
						"scope": "window"
					},
					"php.hover.documentation": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "If available, show symbol documentation link in the mouse hover tool-tip.",
						"scope": "window"
					},
					"php.hover.fullname": {
						"type": "boolean",
						"default": false,
						"markdownDescription": "Show full name of symbols, including the full class name.",
						"scope": "window"
					},
					"php.hover.containingClass": {
						"type": "boolean",
						"default": true,
						"markdownDescription": "Show containing class name of class members.",
						"scope": "window"
					},
					"php.linkedEditing.variables": {
						"markdownDescription": "When `#editor.linkedEditing#` setting is enabled, this option specifies whether to apply linked edits to local variable names.",
						"default": false,
						"type": "boolean",
						"scope": "window"
					},
					"php.workspace.includePath": {
						"description": "Paths containing additional PHP declarations. Separated with semi-colon.",
						"type": [
							"string",
							"array"
						],
						"scope": "window"
					},
					"php.workspace.shortOpenTag": {
						"markdownDescription": "Enable or disable parsing inside `<?` tag. Default value is `\"auto\"` so short open tags will be _enabled_ if there is no `<?xml` tag.",
						"type": "string",
						"scope": "window",
						"default": "auto",
						"enum": [
							"auto",
							"true",
							"false"
						],
						"markdownEnumDescriptions": [
							"%php.workspace.shortOpenTag.auto%",
							"%php.workspace.shortOpenTag.true%",
							"%php.workspace.shortOpenTag.false%"
						]
					},
					"php.navigation.referencesScope": {
						"markdownDescription": "%php.navigation.referencesScope.title%",
						"scope": "window",
						"type": "string",
						"default": "any",
						"enum": [
							"any",
							"strict"
						],
						"enumDescriptions": [
							"Target matches source symbol's type, or its type is unknown, or it's a dynamic construct which may be possibly a valid reference as well.",
							"Target and the source symbol are strictly typed."
						]
					},
					"php.executables": {
						"markdownDescription": "Defines PHP profiles as a user defined name and a `php` binary path.\nExample: `\"php.executables\": { \"v7.4\": \"/usr/bin/php7.4\" }`",
						"examples": [
							{
								"v7.4": "/usr/bin/php7.4"
							}
						],
						"type": "object",
						"scope": "application"
					},
					"php.version": {
						"markdownDescription": "A PHP version or a profile name defined in `#php.executables#`.",
						"type": "string",
						"scope": "window"
					},
					"php.codeLens.enabled": {
						"description": "Enable/disable code lenses in PHP files.",
						"type": "boolean",
						"default": true,
						"scope": "application"
					},
					"php.problems.scope": {
						"markdownDescription": "What workspace folders get analyzed for problems.\n\nDefault is `\"opened\"` which gets problems for opened documents only.\n\n_Note, **fatal errors** and **parse errors** are always reported across the entire workspace._",
						"type": "string",
						"default": "opened",
						"enum": [
							"none",
							"opened",
							"all"
						],
						"markdownEnumDescriptions": [
							"%php.problems.scope.none%",
							"%php.problems.scope.opened%",
							"%php.problems.scope.all%"
						],
						"scope": "window"
					},
					"php.problems.exclude": {
						"markdownDescription": "Path patterns to be ignored from reporting problems. Value can be set to `true` to ignore all problems or a comma separated list of specific problem codes.\n\n_See [Problems Configuration](https://docs.devsense.com/vscode/problems#phpproblemsexclude) for more details._\n\n\n_Example:_\n```json\n\"php.problems.exclude\": {\n  \"/\": [406],\n  \"vendor/\": true,\n}\n```",
						"type": [
							"object",
							"null"
						],
						"examples": [
							{
								"/": [
									406
								],
								"vendor/": true
							}
						],
						"default": null,
						"scope": "window"
					},
					"php.problems.excludeGitIgnore": {
						"markdownDescription": "Do not report problems in files specified in `.gitignore` file.",
						"type": "boolean",
						"default": false,
						"scope": "window"
					},
					"php.problems.workspaceAnalysis": {
						"description": "Deprecated. Enable full workspace-wide analysis. Enabled by default.",
						"type": [
							"boolean"
						],
						"enum": [
							true,
							false
						],
						"default": true,
						"scope": "window",
						"markdownDeprecationMessage": "Use `#php.problems.scope#` instead."
					},
					"php.cache.location": {
						"markdownDescription": "Full path for local IntelliSense cache for _composer_ packages.",
						"type": [
							"string",
							"null"
						],
						"default": null,
						"scope": "machine"
					},
					"php.stubs": {
						"markdownDescription": "Array of extension names to be included in the built-in IntelliSense, the localized manual, and code analysis. By default all the standard PHP extensions are included.\n\nExamples:\n\n```json\n{\n  \"php.stubs\": [\"*\", \"com\", \"pcntl\", \"xdebug\"]\n}\n```\n\nList of possible values:\n\n- `\"*\"` includes the standard set of extensions.\n- `\"all\"` includes all the available extensions.\n- `com`\n- `pcntl`\n- `zip`\n- `zlib`\n- ...",
						"default": [
							"*"
						],
						"type": "array",
						"scope": "window",
						"examples": [
							[
								"*",
								"com"
							],
							[
								"all"
							]
						]
					},
					"php.debug.port": {
						"markdownDescription": "Default Xdebug port or array of ports. This value is used when `port` is not specified in `launch.json` settings. Usually 9000 or 9003.",
						"default": [
							9003,
							9000
						],
						"type": [
							"array",
							"integer"
						],
						"scope": "window"
					},
					"phpTools.license": {
						"markdownDeprecationMessage": "This setting has been deprecated, you may delete it. Use _Command Palette_, the command `PHP Tools: Activate License`.",
						"description": "The license fingerprint. (deprecated)",
						"type": [
							"string",
							"null"
						],
						"scope": "application"
					},
					"phpTools.suppressPremiumFeatures": {
						"markdownDescription": "Most of the premium features will be disabled and user won't be bothered with related messages or blocked code actions.",
						"scope": "machine",
						"type": "boolean",
						"default": false
					},
					"phpTools.language": {
						"description": "Language of PHP Tools IntelliSense.",
						"type": [
							"string",
							null
						],
						"enum": [
							"en",
							"de",
							"es",
							"fr",
							"it",
							"ja",
							"pt",
							"ru",
							"zh",
							null
						],
						"default": null,
						"scope": "application"
					},
					"phpTools.parallelismLimit": {
						"description": "%phpTools.parallelismLimit.title%",
						"type": [
							"number",
							"null"
						],
						"default": null,
						"scope": "machine"
					},
					"php.highlight-todo.enable": {
						"markdownDescription": "Enable highligting of to-do comments (`@todo`, `// TODO`, or `# TODO`). Enabled by default.",
						"type": "boolean",
						"default": true,
						"scope": "window"
					},
					"php.highlight-todo.style": {
						"markdownDescription": "The style of to-do decoration. See [ThemableDecorationRenderOptions](https://code.visualstudio.com/api/references/vscode-api#ThemableDecorationRenderOptions) for details.",
						"type": "object",
						"default": {
							"backgroundColor": "#eecc00"
						},
						"scope": "window"
					},
					"phpunit.command": {
						"markdownDescription": "%phpunit.command.description%",
						"type": "string",
						"default": "\"${php}\" ${phpargs} \"${phpunit}\" ${phpunitargs}",
						"examples": [
							"\"${php}\" ${phpargs} \"${phpunit}\" ${phpunitargs}",
							"ddev exec phpunit ${phpunitargs}"
						],
						"scope": "window"
					},
					"phpunit.phpunit": {
						"description": "PHPUnit binary to be used to run and debug the tests. It can be either full path or path relative to the workspace root.\n\nExample: `./vendor/bin/phpunit` or `\"phpunit\"`.",
						"type": "string",
						"default": null,
						"scope": "window",
						"examples": [
							"./vendor/bin/phpunit",
							"./vendor/bin/paratest",
							"./vendor/bin/pest"
						]
					},
					"phpunit.config": {
						"description": "%phpunit.config.description%",
						"type": "string",
						"default": null,
						"scope": "window",
						"examples": [
							"phpunit.xml",
							"{**/phpunit.xml,**/phpunit.xml.dist,**/phpunit*.xml}",
							"{phpunit.xml,phpunit.xml.dist}"
						]
					},
					"phpunit.enableAutomaticRefresh": {
						"markdownDescription": "Watch for `.php` and `phpunit` changes and refresh tests view automatically. Enabled by default.",
						"type": "boolean",
						"default": true,
						"scope": "window"
					},
					"phpunit.preTask": {
						"markdownDescription": "Task or array of tasks defined in `tasks.json` to be executed before a test execution is finished. Task attributes will get updated with `\"filter\"` or `\"testsuite\"` values.",
						"type": [
							"string",
							"array"
						],
						"scope": "window"
					},
					"phpunit.postTask": {
						"markdownDescription": "Task or array of tasks defined in `tasks.json` to be executed after a test execution is finished. Task attributes will get updated with `\"filter\"` or `\"testsuite\"` values.",
						"type": [
							"string",
							"array"
						],
						"scope": "window"
					}
				}
			},
			{
				"title": "Code Style",
				"properties": {
					"php.format.codeStyle": {
						"markdownDescription": "%php.format.codeStyle.description%",
						"type": [
							"string"
						],
						"enum": [
							"PER",
							"PSR-2",
							"PSR-12",
							"Allman",
							"K&R",
							"PHP Tools",
							"Laravel",
							"WordPress",
							"Drupal",
							"Joomla",
							"Off"
						],
						"default": "PSR-12",
						"scope": "window"
					}
				}
			},
			{
				"title": "Formatting (BlankLines)",
				"properties": {
					"php.format.rules.blankLinesAfterClass": {
						"markdownDescription": "%php.format.rules.blankLinesAfterClass.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAfterClassBody": {
						"markdownDescription": "%php.format.rules.blankLinesAfterClassBody.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAfterFunction": {
						"markdownDescription": "%php.format.rules.blankLinesAfterFunction.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAfterMethod": {
						"markdownDescription": "%php.format.rules.blankLinesAfterMethod.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAfterNamespace": {
						"markdownDescription": "%php.format.rules.blankLinesAfterNamespace.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAfterOpenTag": {
						"markdownDescription": "%php.format.rules.blankLinesAfterOpenTag.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAfterUseStatements": {
						"markdownDescription": "%php.format.rules.blankLinesAfterUseStatements.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAroundClassConstant": {
						"markdownDescription": "%php.format.rules.blankLinesAroundClassConstant.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAroundEnumCase": {
						"markdownDescription": "%php.format.rules.blankLinesAroundEnumCase.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesAroundProperty": {
						"markdownDescription": "%php.format.rules.blankLinesAroundProperty.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeClass": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeClass.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeClassBody": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeClassBody.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeFunction": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeFunction.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeFunctionBody": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeFunctionBody.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeMethod": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeMethod.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeMethodBody": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeMethodBody.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeNamespace": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeNamespace.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeReturnStatement": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeReturnStatement.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBeforeUseStatements": {
						"markdownDescription": "%php.format.rules.blankLinesBeforeUseStatements.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.blankLinesBetweenUseTypes": {
						"markdownDescription": "%php.format.rules.blankLinesBetweenUseTypes.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					},
					"php.format.rules.maxBlankLines": {
						"markdownDescription": "%php.format.rules.maxBlankLines.description%",
						"type": [
							"string",
							"number"
						],
						"enum": [
							"keep",
							0,
							1,
							2,
							3
						],
						"enumItemLabels": [
							"%_keep%",
							"%_0%",
							"%_1%",
							"%_2%",
							"%_3%"
						],
						"default": "keep",
						"scope": "window"
					}
				}
			},
			{
				"title": "Formatting (Conversions)",
				"properties": {
					"php.format.rules.addCommaAfterLastArrayElement": {
						"markdownDescription": "%php.format.rules.addCommaAfterLastArrayElement.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.addCommaAfterLastCallParameter": {
						"markdownDescription": "%php.format.rules.addCommaAfterLastCallParameter.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.addCommaAfterLastDeclParameter": {
						"markdownDescription": "%php.format.rules.addCommaAfterLastDeclParameter.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.booleanConstantCasing": {
						"markdownDescription": "%php.format.rules.booleanConstantCasing.description%",
						"type": [
							"string"
						],
						"enum": [
							"uppercase",
							"lowercase",
							"keep"
						],
						"enumItemLabels": [
							"%_uppercase%",
							"%_lowercase%",
							"%_keep%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.importSorting": {
						"markdownDescription": "%php.format.rules.importSorting.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"alphabetic",
							"byLength"
						],
						"enumItemLabels": [
							"%_off%",
							"%_alphabetic%",
							"%_byLength%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.importSortingCaseSensitive": {
						"markdownDescription": "%php.format.rules.importSortingCaseSensitive.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.nullConstantCasing": {
						"markdownDescription": "%php.format.rules.nullConstantCasing.description%",
						"type": [
							"string"
						],
						"enum": [
							"uppercase",
							"lowercase",
							"keep"
						],
						"enumItemLabels": [
							"%_uppercase%",
							"%_lowercase%",
							"%_keep%"
						],
						"default": null,
						"scope": "window"
					}
				}
			},
			{
				"title": "Formatting (Indentation)",
				"properties": {
					"php.format.rules.indentBraces": {
						"markdownDescription": "%php.format.rules.indentBraces.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					}
				}
			},
			{
				"title": "Formatting (NewLines)",
				"properties": {
					"php.format.rules.catchOnNewLine": {
						"markdownDescription": "%php.format.rules.catchOnNewLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.elseOnNewLine": {
						"markdownDescription": "%php.format.rules.elseOnNewLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.endWithNewLine": {
						"markdownDescription": "%php.format.rules.endWithNewLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.finallyOnNewLine": {
						"markdownDescription": "%php.format.rules.finallyOnNewLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.openBraceOnNewLineForAnonymousClasses": {
						"markdownDescription": "%php.format.rules.openBraceOnNewLineForAnonymousClasses.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.openBraceOnNewLineForBlocks": {
						"markdownDescription": "%php.format.rules.openBraceOnNewLineForBlocks.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.openBraceOnNewLineForFunctions": {
						"markdownDescription": "%php.format.rules.openBraceOnNewLineForFunctions.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.openBraceOnNewLineForLambdas": {
						"markdownDescription": "%php.format.rules.openBraceOnNewLineForLambdas.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.openBraceOnNewLineForNamespaces": {
						"markdownDescription": "%php.format.rules.openBraceOnNewLineForNamespaces.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.openBraceOnNewLineForTypes": {
						"markdownDescription": "%php.format.rules.openBraceOnNewLineForTypes.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					}
				}
			},
			{
				"title": "Formatting (Spacing)",
				"properties": {
					"php.format.rules.spaceAfterCast": {
						"markdownDescription": "%php.format.rules.spaceAfterCast.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceAfterUnaryNot": {
						"markdownDescription": "%php.format.rules.spaceAfterUnaryNot.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceAroundConcatenation": {
						"markdownDescription": "%php.format.rules.spaceAroundConcatenation.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeColonInControlStatements": {
						"markdownDescription": "%php.format.rules.spaceBeforeColonInControlStatements.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeColonInReturnType": {
						"markdownDescription": "%php.format.rules.spaceBeforeColonInReturnType.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeParenthesesInArrowFunctions": {
						"markdownDescription": "%php.format.rules.spaceBeforeParenthesesInArrowFunctions.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeParenthesesInCalls": {
						"markdownDescription": "%php.format.rules.spaceBeforeParenthesesInCalls.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeParenthesesInControlStatements": {
						"markdownDescription": "%php.format.rules.spaceBeforeParenthesesInControlStatements.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeParenthesesInDeclarations": {
						"markdownDescription": "%php.format.rules.spaceBeforeParenthesesInDeclarations.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceBeforeUnaryNot": {
						"markdownDescription": "%php.format.rules.spaceBeforeUnaryNot.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinArrayInitilizersParens": {
						"markdownDescription": "%php.format.rules.spaceWithinArrayInitilizersParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinBrackets": {
						"markdownDescription": "%php.format.rules.spaceWithinBrackets.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinBracketsAroundExpression": {
						"markdownDescription": "%php.format.rules.spaceWithinBracketsAroundExpression.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinCallParens": {
						"markdownDescription": "%php.format.rules.spaceWithinCallParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinCatchParens": {
						"markdownDescription": "%php.format.rules.spaceWithinCatchParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinDeclParens": {
						"markdownDescription": "%php.format.rules.spaceWithinDeclParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinExpressionParens": {
						"markdownDescription": "%php.format.rules.spaceWithinExpressionParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinForeachParens": {
						"markdownDescription": "%php.format.rules.spaceWithinForeachParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinForParens": {
						"markdownDescription": "%php.format.rules.spaceWithinForParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinIfParens": {
						"markdownDescription": "%php.format.rules.spaceWithinIfParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinSwitchParens": {
						"markdownDescription": "%php.format.rules.spaceWithinSwitchParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.spaceWithinWhileParens": {
						"markdownDescription": "%php.format.rules.spaceWithinWhileParens.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					}
				}
			},
			{
				"title": "Formatting (Wrapping)",
				"properties": {
					"php.format.rules.alignConsecutiveAssignments": {
						"markdownDescription": "%php.format.rules.alignConsecutiveAssignments.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.alignConstants": {
						"markdownDescription": "%php.format.rules.alignConstants.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.alignEnumCases": {
						"markdownDescription": "%php.format.rules.alignEnumCases.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.alignMatchArmBodies": {
						"markdownDescription": "%php.format.rules.alignMatchArmBodies.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.alignProperties": {
						"markdownDescription": "%php.format.rules.alignProperties.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.arrayInitializersAlignKeyValuePairs": {
						"markdownDescription": "%php.format.rules.arrayInitializersAlignKeyValuePairs.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.arrayInitializersNewLineAfterLastElement": {
						"markdownDescription": "%php.format.rules.arrayInitializersNewLineAfterLastElement.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.arrayInitializersNewLineBeforeFirstElement": {
						"markdownDescription": "%php.format.rules.arrayInitializersNewLineBeforeFirstElement.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.arrayInitializersWrap": {
						"markdownDescription": "%php.format.rules.arrayInitializersWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.callParametersNewLineAfterLeftParen": {
						"markdownDescription": "%php.format.rules.callParametersNewLineAfterLeftParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.callParametersNewLineBeforeRightParen": {
						"markdownDescription": "%php.format.rules.callParametersNewLineBeforeRightParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.callParametersWrap": {
						"markdownDescription": "%php.format.rules.callParametersWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.chainedMethodCallsSemicolonOnNewLine": {
						"markdownDescription": "%php.format.rules.chainedMethodCallsSemicolonOnNewLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.chainedMethodCallsWrap": {
						"markdownDescription": "%php.format.rules.chainedMethodCallsWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.declCompactEmptyBody": {
						"markdownDescription": "%php.format.rules.declCompactEmptyBody.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.declKeepRightParenAndOpenBraceOnOneLine": {
						"markdownDescription": "%php.format.rules.declKeepRightParenAndOpenBraceOnOneLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.declParametersNewLineAfterLeftParen": {
						"markdownDescription": "%php.format.rules.declParametersNewLineAfterLeftParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.declParametersNewLineBeforeRightParen": {
						"markdownDescription": "%php.format.rules.declParametersNewLineBeforeRightParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.declParametersWrap": {
						"markdownDescription": "%php.format.rules.declParametersWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.forStatementNewLineAfterLeftParen": {
						"markdownDescription": "%php.format.rules.forStatementNewLineAfterLeftParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.forStatementNewLineBeforeRightParen": {
						"markdownDescription": "%php.format.rules.forStatementNewLineBeforeRightParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.forStatementWrap": {
						"markdownDescription": "%php.format.rules.forStatementWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.groupUseNewLineBeforeFirstDeclaration": {
						"markdownDescription": "%php.format.rules.groupUseNewLineBeforeFirstDeclaration.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.groupUseWrap": {
						"markdownDescription": "%php.format.rules.groupUseWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.ifStatementNewLineAfterLeftParen": {
						"markdownDescription": "%php.format.rules.ifStatementNewLineAfterLeftParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.ifStatementNewLineBeforeRightParen": {
						"markdownDescription": "%php.format.rules.ifStatementNewLineBeforeRightParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.implementsListWrap": {
						"markdownDescription": "%php.format.rules.implementsListWrap.description%",
						"type": [
							"string"
						],
						"enum": [
							"off",
							"onEveryItem",
							"always"
						],
						"enumItemLabels": [
							"%_off%",
							"%_onEveryItem%",
							"%_always%"
						],
						"markdownEnumDescriptions": [
							"%_wrap.inherit.description%",
							"%_wrap.off.description%",
							"%_wrap.onEveryItem.description%",
							"%_wrap.always.description%"
						],
						"default": null,
						"scope": "window"
					},
					"php.format.rules.indentHeredoc": {
						"markdownDescription": "%php.format.rules.indentHeredoc.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.inlineHeredoc": {
						"markdownDescription": "%php.format.rules.inlineHeredoc.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.keepClassesOnOneLine": {
						"markdownDescription": "%php.format.rules.keepClassesOnOneLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.keepControlStatementsOnOneLine": {
						"markdownDescription": "%php.format.rules.keepControlStatementsOnOneLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.keepFunctionsOnOneLine": {
						"markdownDescription": "%php.format.rules.keepFunctionsOnOneLine.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.newLineAfterImplements": {
						"markdownDescription": "%php.format.rules.newLineAfterImplements.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.switchStatementNewLineAfterLeftParen": {
						"markdownDescription": "%php.format.rules.switchStatementNewLineAfterLeftParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.switchStatementNewLineBeforeRightParen": {
						"markdownDescription": "%php.format.rules.switchStatementNewLineBeforeRightParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.whileStatementNewLineAfterLeftParen": {
						"markdownDescription": "%php.format.rules.whileStatementNewLineAfterLeftParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					},
					"php.format.rules.whileStatementNewLineBeforeRightParen": {
						"markdownDescription": "%php.format.rules.whileStatementNewLineBeforeRightParen.description%",
						"type": "boolean",
						"default": null,
						"scope": "window"
					}
				}
			}
		],
		"configurationDefaults": {
			"php.suggest.basic": false,
			"php.validate.enable": false,
			"files.associations": {
				"*.embeddedhtml": "html"
			},
			"[php]": {}
		},
		"menus": {
			"editor/title/run": [
				{
					"command": "phptools.debug.runScript",
					"when": "resourceLangId == php && !inDiffEditor && !virtualWorkspace && shellExecutionSupported",
					"group": "navigation@0"
				},
				{
					"command": "phptools.debug.debugScript",
					"when": "resourceLangId == php && !inDiffEditor && !virtualWorkspace && shellExecutionSupported",
					"group": "navigation@1"
				}
			]
		},
		"commands": [
			{
				"command": "phptools.activate",
				"category": "PHP Tools",
				"title": "%phptools.activate.title%",
				"icon": "$(unlock)"
			},
			{
				"command": "phptools.requesttrial",
				"category": "PHP Tools",
				"title": "%phptools.requesttrial.title%",
				"icon": "$(unlock)",
				"enablement": "phptools.suggestTrial"
			},
			{
				"command": "phptools.releasenotes",
				"category": "PHP Tools",
				"title": "%phptools.releasenotes.title%",
				"icon": "$(notebook)"
			},
			{
				"command": "phptools.overviewpage",
				"category": "PHP Tools",
				"title": "%phptools.overviewpage.title%",
				"icon": "$(notebook)"
			},
			{
				"command": "phptools.clearVendorCache",
				"category": "PHP Tools",
				"title": "Clear /vendor/ cache."
			},
			{
				"command": "phptools.stubs",
				"category": "PHP",
				"title": "Workspace Stubs"
			},
			{
				"command": "phptools.todo.search",
				"category": "PHP",
				"title": "%phptools.todo.search.title%",
				"icon": "$(search)"
			},
			{
				"command": "phptools.formatFiles",
				"category": "PHP",
				"title": "%phptools.formatFiles.title%"
			},
			{
				"command": "phptools.selectPhpVersion",
				"title": "%phptools.selectPhpVersion.title%",
				"category": "PHP",
				"icon": "$(versions)",
				"enablement": "editorLangId==php && !isWeb"
			},
			{
				"command": "phptools.selectLanguage",
				"title": "%phptools.selectLanguage%",
				"category": "PHP",
				"icon": "%(comments-view-icon)"
			},
			{
				"command": "phptools.problems.scope",
				"title": "%phptools.problems.scope%",
				"category": "PHP",
				"icon": "%(alert)"
			},
			{
				"command": "phptools.importClass",
				"category": "PHP",
				"title": "%phptools.importClass.title%",
				"enablement": "phptools.importClass"
			},
			{
				"command": "phptools.fqnClass",
				"category": "PHP",
				"title": "%phptools.fqnClass.title%",
				"enablement": "phptools.importClass"
			},
			{
				"command": "phptools.implementOverrides",
				"category": "PHP",
				"title": "%phptools.implementOverrides.title%",
				"enablement": "phptools.implementOverrides"
			},
			{
				"command": "phptools.blade.switchViewClass",
				"category": "Blade",
				"title": "%phptools.blade.switchViewClass.title%",
				"enablement": "phptools.blade.switchViewClass"
			},
			{
				"command": "phptools.debug.startWithStopOnEntry",
				"title": "Start Debugging and Stop on Entry",
				"category": "Debug (PHP)",
				"icon": "$(debug-alt-small)",
				"enablement": "debuggersAvailable && !inDebugMode"
			},
			{
				"command": "phptools.debug.startListen",
				"title": "Start Listening for Xdebug",
				"shortTitle": "Listen for Xdebug",
				"category": "Debug (PHP)",
				"icon": "$(debug-alt-small)",
				"enablement": "debuggersAvailable && !inDebugMode"
			},
			{
				"command": "phptools.debug.debugScript",
				"title": "Debug PHP script",
				"category": "Debug (PHP)",
				"enablement": "editorLangId==php && debuggersAvailable && !inDebugMode",
				"icon": "$(debug-alt)"
			},
			{
				"command": "phptools.debug.runScript",
				"title": "Run PHP Script",
				"category": "Debug (PHP)",
				"enablement": "editorLangId == php",
				"icon": "$(play)"
			}
		],
		"keybindings": [
			{
				"command": "phptools.debug.startWithStopOnEntry",
				"key": "F10",
				"mac": "F10",
				"when": "!inDebugMode && debugConfigurationType=='php'"
			},
			{
				"command": "phptools.debug.startWithStopOnEntry",
				"key": "F11",
				"mac": "F11",
				"when": "!inDebugMode && debugConfigurationType=='php'"
			}
		],
		"debuggers": [
			{
				"type": "php",
				"label": "PHP (Xdebug)",
				"enableBreakpointsFor": {
					"languageIds": [
						"php"
					]
				},
				"configurationAttributes": {
					"launch": {
						"required": [],
						"properties": {
							"program": {
								"type": "string",
								"description": "Absolute path to the program."
							},
							"stopOnEntry": {
								"type": "boolean",
								"description": "Automatically stop program after launch.",
								"default": false
							},
							"externalConsole": {
								"type": "boolean",
								"description": "Launch debug target in external console.",
								"default": false
							},
							"args": {
								"type": "array",
								"description": "Command line arguments passed to the program.",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"cwd": {
								"type": "string",
								"description": "Absolute path to the working directory of the program being debugged. Default is the current workspace.",
								"default": "${workspaceRoot}"
							},
							"envFile": {
								"type": "string",
								"markdownDescription": "Path to `.env` file. Environment variables will be merged into the process environment variables.",
								"examples": [
									".env"
								]
							},
							"envfile": {
								"type": "string",
								"markdownDescription": "Path to `.env` file. Environment variables will be merged into the process environment variables.",
								"deprecationMessage": "Property 'envfile' is deprecated, please use 'envFile' instead."
							},
							"phpVersion": {
								"type": "string",
								"markdownDescription": "PHP version or profile name defined in `#php.executables#`"
							},
							"runtimeExecutable": {
								"type": "string",
								"description": "Absolute path to the runtime executable to be used. Default is the runtime executable on the PATH.",
								"default": "php"
							},
							"runtimeArgs": {
								"type": "array",
								"description": "Optional arguments passed to the runtime executable.",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"env": {
								"type": "object",
								"additionalProperties": {
									"type": "string"
								},
								"description": "Environment variables passed to the program.",
								"default": {}
							},
							"port": {
								"type": [
									"integer",
									"array"
								],
								"description": "Port on which to listen for Xdebug"
							},
							"serverSourceRoot": {
								"type": "string",
								"description": "Deprecated: The source root when debugging a remote host",
								"deprecationMessage": "Property serverSourceRoot is deprecated, please use pathMappings to define a server root."
							},
							"localSourceRoot": {
								"type": "string",
								"description": "Deprecated: The source root on this machine that is the equivalent to the serverSourceRoot on the server.",
								"deprecationMessage": "Property localSourceRoot is deprecated, please use pathMappings to define a local root."
							},
							"pathMappings": {
								"type": "object",
								"default": {},
								"description": "A mapping of server paths to local paths."
							},
							"exclude": {
								"type": "array",
								"items": "string",
								"description": "Glob patterns specifying paths to exclude from debugging.",
								"default": [
									"**/vendor/**/*.php"
								]
							},
							"skipEntryPaths": {
								"type": "array",
								"items": "string",
								"description": "Glob patterns to skip if the initial entry file is matched."
							},
							"ignoreExceptions": {
								"type": "array",
								"items": "string",
								"description": "Exception class names or patterns that should be ignored, supporting '*' and '**' wildcards."
							},
							"log": {
								"type": "boolean",
								"description": "If true, will log all communication between VS Code and the adapter"
							},
							"noDebug": {
								"type": "boolean",
								"description": "If true, starts the process without debugging. False by default ('debug' mode enabled)."
							},
							"trigger": {
								"type": "string",
								"description": "If set, only requests with `XDEBUG_TRIGGER` GET/POST/COOKIE or ENV variable equal to this value, will be debugged. By default, every request is being debugged. Example: \"trigger\": \"Start\", so only requests to http://localhost?XDEBUG_TRIGGER=Start will initiate debugging."
							},
							"profile": {
								"type": "boolean",
								"description": "If true, enables Xdebug 'profile' mode. Disabled by default."
							},
							"openProfile": {
								"type": "boolean",
								"description": "Override profile output dir and open the profiling result after the debug sessions stops."
							},
							"dbgpProxy": {
								"type": "object",
								"properties": {
									"enable": {
										"type": "boolean",
										"description": "If True, will connect to DBGp proxy configured in this section",
										"default": false
									},
									"host": {
										"type": "string",
										"description": "The host address where the proxy is located. It's usually same as web server, but it's doesn't have to be.",
										"default": "127.0.0.1"
									},
									"port": {
										"type": "number",
										"description": "The port where the proxy server is listening.",
										"default": 9001
									},
									"ideKey": {
										"type": "string",
										"description": "The Xdebug IDE Key used to register the VS CODE. If not set, the current user name is used instead."
									}
								}
							},
							"maxConnections": {
								"type": "number",
								"description": "Maximum number of simultaneous debug sessions.",
								"default": 3
							},
							"XdebugSettings": {
								"type": "object",
								"description": "Optional Xdebug features to be set via 'feature_set' command. Values defined here will override the extension's defaults. See: https://xdebug.org/docs/dbgp#feature-names",
								"additionalProperties": true
							}
						}
					}
				},
				"languages": [
					"php"
				],
				"configurationSnippets": [
					{
						"label": "PHP: Launch built-in server",
						"description": "Launches PHP's built-in development server and starts debugging.",
						"body": {
							"name": "Launch built-in server",
							"type": "php",
							"request": "launch",
							"runtimeArgs": [
								"-S",
								"localhost:8000",
								"-t",
								"."
							],
							"port": 9003,
							"serverReadyAction": {
								"action": "openExternally"
							}
						}
					},
					{
						"label": "PHP: Launch & Profile built-in server",
						"description": "Launches PHP's built-in development server and starts profiling requests.",
						"body": {
							"name": "Launch & Profile built-in server",
							"type": "php",
							"request": "launch",
							"noDebug": true,
							"profile": true,
							"runtimeArgs": [
								"-S",
								"localhost:8000",
								"-t",
								"."
							],
							"port": 9003,
							"serverReadyAction": {
								"action": "openExternally"
							}
						}
					},
					{
						"label": "PHP: Launch current script in console",
						"description": "Launches currently opened PHP document as a console application.",
						"body": {
							"name": "Launch current script in console",
							"type": "php",
							"request": "launch",
							"program": "^\"\\${file}\"",
							"cwd": "^\"\\${fileDirname}\"",
							"externalConsole": false,
							"port": 9003
						}
					},
					{
						"label": "PHP: Listen for Xdebug",
						"description": "Starts debugging by waiting for an incoming Xdebug connection from a remote server.",
						"body": {
							"name": "Listen for Xdebug",
							"type": "php",
							"request": "launch",
							"port": [
								9003,
								9000
							]
						}
					}
				]
			}
		],
		"taskDefinitions": [
			{
				"type": "php",
				"properties": {
					"file": {
						"type": "string",
						"description": "Path to the .php file to be executed."
					},
					"args": {
						"type": [
							"array",
							"string"
						],
						"description": "Script file arguments."
					},
					"phpVersion": {
						"type": "string",
						"description": "PHP version or profile name defined in 'php.executables'"
					}
				},
				"required": [
					"file"
				]
			}
		]
	},
	"capabilities": {
		"virtualWorkspaces": {
			"supported": "limited",
			"description": "%capabilities.virtualWorkspaces.description%"
		},
		"untrustedWorkspaces": {
			"supported": true
		}
	},
	"badges": [
		{
			"url": "https://badgen.net/badge/@php4vs/twitter/blue?icon=twitter",
			"href": "https://twitter.com/php4vs",
			"description": "PHP Tools on Twitter"
		},
		{
			"url": "https://img.shields.io/badge/platform-MacOS%20%7C%20Linux%20%7C%20Win-green.svg",
			"href": "https://www.devsense.com/download#vscode",
			"description": "PHP Tools Download"
		},
		{
			"url": "https://img.shields.io/badge/php-5.4%20--%205.6%20%7C%207.0%20--%208.5-8892BF.svg?logo=php",
			"href": "https://docs.devsense.com/en/vscode/configuration",
			"description": "Supported PHP Versions"
		},
		{
			"url": "https://img.shields.io/badge/-changelog-green",
			"href": "https://www.devsense.com/en/download/vscode",
			"description": "PHP Tools for VS Code Changelog"
		}
	],
	"scripts": {},
	"__metadata": {
		"installedTimestamp": 1775610455824,
		"targetPlatform": "darwin-arm64",
		"size": 82498049
	}
}