@yaegassy/coc-intelephense
yaegassyintelephense (php language server) extension for coc.nvim
Published Package Summary
coc-intelephense
fork from a bmewburn/vscode-intelephense | PHP Intelephense and more feature.
intelephense (PHP language server) extension for coc.nvim. intelephense's various LSP features and this extension's additional features are available.
Install
CocInstall:
:CocInstall @yaegassy/coc-intelephense
scoped packages
vim-plug:
Plug 'yaegassy/coc-intelephense', {'do': 'yarn install --frozen-lockfile'}
Enabling the PREMIUM feature
Prepare a licence.txt file containing the licence key and place it in a designated location.
$ node -e "console.log(os.homedir() + '/intelephense/licence.txt')"
/Users/username/intelephense/licence.txt
[DEPRECATED]: Or set intelephense.licenceKey in "coc-settings.json"
{
// ...snip
"intelephense.licenceKey": "LICENCEKEYSAMPLE",
// ...snip
}
For more information, please check this link.
[RECOMMENDED] Additional installation of "watchman"
In the intelephense used by coc-intelephense, it utilizes the workspace/didChangeWatchedFiles notification to watch files within the project.
In coc.nvim, it is recommended to install watchman in order to utilize this feature.
If you have difficulty installing watchman, you can use coc-intelephense without watchman, but you may not be able to immediately use intelephense's IntelliSense with the newly added files.
In this case, please execute the command to restart the language server.
:CocRestart
workspaceFolders
Depending on the project like mono repo or how Vim/Neovim is started, workspaceFolders may not be recognized correctly.
To make coc.nvim recognize workspaceFolders correctly, you can set b:coc_root_patterns in .vimrc/init.vim
Example:
au FileType php let b:coc_root_patterns = ['.git', '.env', 'composer.json', 'artisan']
For more information, check this coc.nvim's wiki.
CodeLens
Feature:
Test file for "PHPUnit" or "Pest", allowing execution of a single test method. CodeLens appears at the top of the test method.
coc-settings.json:
By default, codeLens.enable is set to false, which disables it.
Change the setting to true to enable it.
{
"codeLens.enable": true
}
If you want to use "Pest", change the intelephense.client.codelensProvider setting to pest (default: phpunit).
{
"intelephense.client.codelensProvider": "pest"
}
Example key mapping (CodeLens related):
nmap <silent> gl <Plug>(coc-codelens-action)
Code Actions
Example key mapping (Code Action related):
nmap <silent> ga <Plug>(coc-codeaction-line)
xmap <silent> ga <Plug>(coc-codeaction-selected)
nmap <silent> <leader>a <Plug>(coc-codeaction-cursor)
nmap <silent> gA <Plug>(coc-codeaction)
Code Actions (Client side):
Open 'php.net' for 'xxxx'| DEMOAdd @intelephense-ignore-line| DEMOAdd @intelephense-ignore-next-line| DEMOInsert PHP Getter| DEMOInsert PHP Setter| DEMOInsert PHP Getter & Setter| DEMOChange Visibility| DEMORemove all unused imports for "use" statetment| DEMO
Code Actions (Server side):
use NAMESPACE\...\CLASSImplement all abstract methods for '...'Add PHPDoc for '...'- and more...
- Other code actions provided by the intelephehse language server
Thanks
License
MIT
This extension is built with create-coc-extension
- intelephense (php language server) extension for coc.nvim
- onLanguage:php
Want to build, test, or contribute to coc.nvim extensions? Explore our official SDK and testing toolkits.
Open Developer GuideVersion History
This published npm package does not include a history.md or changelog.md file. Browse its npm versions or repository releases for available release information.
Contributed Commands
All contributes.commands entries from the published package manifest for @yaegassy/coc-intelephense@0.35.4.
| Command (:CocCommand) | Description |
|---|---|
| intelephense.index.workspace | Index workspace |
| intelephense.cancel.indexing | Cancel indexing |
| intelephense.composer.runCommand | Run selected composer command |
| intelephense.composer.runCommandPlus | Enter and run additional strings to the selected composer command |
| intelephense.composer.runScriptsCommand | Run selected composer script |
| intelephense.artisan.runCommand | Run Artisan command |
| intelephense.sailArtisan.runCommand | Run Sail Artisan command |
| intelephense.symfony.runCommand | Run Symfony command |
| intelephense.phpunit.projectTest | Run PHPUnit for current project |
| intelephense.phpunit.fileTest | Run PHPUnit for current file |
| intelephense.phpunit.singleTest | Run PHPUnit for single (nearest) test |
| intelephense.pest.projectTest | Run Pest for current project |
| intelephense.pest.fileTest | Run Pest for current file |
| intelephense.pest.singleTest | Run Pest for single (nearest) test |
| intelephense.fixClassName | Fix class name based on file name |
| intelephense.fixNamespace | Fix namespace based on the composer configuration |
| intelephense.completeConstructor | Complete the assignments and add properties for an incomplete constructor |
Configuration Schema
All contributes.configuration entries from the published package manifest, including each raw property schema for coc-settings.json.
Raw JSON Schema
{
"type": "string",
"default": "",
"description": "Path to intelephense module. ~ and $HOME, etc. can also be used. If there is no setting, the built-in module will be used."
}Raw JSON Schema
{
"type": "array",
"items": {
"enum": [
"aerospike",
"amqp",
"apache",
"apcu",
"ast",
"bcmath",
"blackfire",
"brotli",
"bz2",
"calendar",
"cassandra",
"com_dotnet",
"Core",
"couchbase",
"couchbase_v3",
"crypto",
"ctype",
"cubrid",
"curl",
"date",
"dba",
"decimal",
"dio",
"dom",
"ds",
"eio",
"elastic_apm",
"enchant",
"Ev",
"event",
"exif",
"expect",
"fann",
"FFI",
"ffmpeg",
"fileinfo",
"filter",
"fpm",
"ftp",
"gd",
"gearman",
"geoip",
"geos",
"gettext",
"gmagick",
"gmp",
"gnupg",
"grpc",
"hash",
"http",
"ibm_db2",
"iconv",
"igbinary",
"imagick",
"imap",
"inotify",
"interbase",
"intl",
"json",
"jsonpath",
"judy",
"ldap",
"leveldb",
"libevent",
"libsodium",
"libvirt-php",
"libxml",
"litespeed",
"lua",
"LuaSandbox",
"lzf",
"mailparse",
"mapscript",
"maxminddb",
"mbstring",
"mcrypt",
"memcache",
"memcached",
"meminfo",
"meta",
"ming",
"mongo",
"mongodb",
"mosquitto-php",
"mqseries",
"msgpack",
"mssql",
"mysql",
"mysqli",
"mysql_xdevapi",
"ncurses",
"newrelic",
"oauth",
"oci8",
"odbc",
"openssl",
"opentelemetry",
"pam",
"parallel",
"Parle",
"pcntl",
"pcov",
"pcre",
"pdflib",
"PDO",
"pgsql",
"Phar",
"phpdbg",
"posix",
"pq",
"pspell",
"pthreads",
"radius",
"random",
"rar",
"rdkafka",
"readline",
"recode",
"redis",
"Reflection",
"regex",
"relay",
"rpminfo",
"rrd",
"SaxonC",
"session",
"shmop",
"simdjson",
"simple_kafka_client",
"SimpleXML",
"snappy",
"snmp",
"soap",
"sockets",
"sodium",
"solr",
"SPL",
"SplType",
"SQLite",
"sqlite3",
"sqlsrv",
"ssh2",
"standard",
"stats",
"stomp",
"suhosin",
"superglobals",
"svm",
"svn",
"swoole",
"sybase",
"sync",
"sysvmsg",
"sysvsem",
"sysvshm",
"tidy",
"tokenizer",
"uopz",
"uploadprogress",
"uri",
"uuid",
"uv",
"v8js",
"wddx",
"win32service",
"winbinder",
"wincache",
"wordpress",
"xcache",
"xdebug",
"xdiff",
"xhprof",
"xlswriter",
"xml",
"xmlreader",
"xmlrpc",
"xmlwriter",
"xsl",
"xxtea",
"yaf",
"yaml",
"yar",
"zend",
"ZendCache",
"ZendDebugger",
"Zend OPcache",
"ZendUtils",
"zip",
"zlib",
"zmq",
"zookeeper",
"zstd"
],
"type": "string"
},
"scope": "window",
"default": [
"apache",
"bcmath",
"bz2",
"calendar",
"com_dotnet",
"Core",
"ctype",
"curl",
"date",
"dba",
"dom",
"enchant",
"exif",
"FFI",
"fileinfo",
"filter",
"fpm",
"frankenphp",
"ftp",
"gd",
"gettext",
"gmp",
"hash",
"iconv",
"imap",
"intl",
"json",
"ldap",
"libxml",
"mbstring",
"meta",
"mysqli",
"oci8",
"odbc",
"openssl",
"pcntl",
"pcre",
"PDO",
"pgsql",
"Phar",
"posix",
"pspell",
"random",
"readline",
"Reflection",
"session",
"shmop",
"SimpleXML",
"snmp",
"soap",
"sockets",
"sodium",
"SPL",
"sqlite3",
"standard",
"superglobals",
"sysvmsg",
"sysvsem",
"sysvshm",
"tidy",
"tokenizer",
"uri",
"xml",
"xmlreader",
"xmlrpc",
"xmlwriter",
"xsl",
"Zend OPcache",
"zip",
"zlib"
],
"description": "Configure stub files for built in symbols and common extensions. The default setting includes PHP core and all bundled extensions."
}Raw JSON Schema
{
"type": "boolean",
"default": true,
"description": "Enable coc-intelephense extension"
}Raw JSON Schema
{
"type": "string",
"scope": "machine",
"description": "Path to a Node.js executable. Use this if you wish to use a different version of Node.js. Defaults to Node.js shipped with VSCode."
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"description": "Maximum memory (in MB) that the server should use. On some systems this may only have effect when runtime has been set. Minimum 256."
}Raw JSON Schema
{
"type": "string",
"default": "",
"description": "Path to Pest command. If there is no setting, the vendor/bin/pest will be used."
}Raw JSON Schema
{
"type": "string",
"default": "",
"description": "DEPRECATED. Don't use this."
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"default": 0,
"maximum": 10,
"minimum": 0,
"markdownDescription": "The maximum call depth to follow when analyzing throw expressions. Defaults to `0`, which limits analysis to the current function. Higher values can have a negative impact on performance."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "To run `sail pest` instead of `pest`"
}Raw JSON Schema
{
"type": "string",
"default": "",
"description": "Path to phpunit command. If there is no setting, the vendor/bin/phpunit will be used."
}Raw JSON Schema
{
"enum": [
"off",
"messages",
"verbose"
],
"type": "string",
"scope": "window",
"default": "off",
"description": "Traces the communication between VSCode and the intelephense language server."
}Raw JSON Schema
{
"type": "string",
"default": "composer",
"description": "Path to composer command."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"default": [
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
"**/CVS/**",
"**/.DS_Store/**",
"**/node_modules/**",
"**/bower_components/**",
"**/vendor/**/{Tests,tests}/**",
"**/.history/**",
"**/vendor/**/vendor/**"
],
"description": "Configure glob patterns to exclude certain files and folders from all language server features. Inherits from files.exclude."
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"default": 1000000,
"description": "Maximum file size in bytes."
}Raw JSON Schema
{
"enum": [
"per",
"allman",
"k&r"
],
"type": "string",
"scope": "window",
"default": "per",
"description": "Controls formatting style of braces",
"enumDescriptions": [
"PHP-FIG PER-CS style. A mix of Allman and K&R. https://www.php-fig.org/per/coding-style/",
"Allman. Opening brace on the next line.",
"K&R (1TBS). Opening brace on the same line."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables formatting"
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Display debugging information (--debug)."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Use colors in output (--colors)."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"default": [
"**/vendor/**"
],
"description": "Glob patterns to exclude files and folders from having symbols renamed. Rename operation will fail if references and/or definitions are found in excluded files/folders."
}Raw JSON Schema
{
"enum": [
"onType",
"onSave"
],
"type": "string",
"scope": "window",
"default": "onType",
"description": "Controls when diagnostics are run.",
"enumDescriptions": [
"Diagnostics will run as changes are made to the document.",
"Diagnostics will run when the document is saved."
]
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "To run `sail phpunit` instead of `phpunit`"
}Raw JSON Schema
{
"type": "boolean",
"default": true,
"description": "Enable progress window for indexing, If false, display with echo messages."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Adds `@return void` to auto generated phpdoc for definitions that do not return a value."
}Raw JSON Schema
{
"enum": [
"snippet",
"text"
],
"type": "string",
"scope": "window",
"default": "snippet",
"enumDescriptions": [
"Auto generated phpdoc is returned in snippet format. Templates are partially resolved by evaluating phpdoc specific variables only.",
"Auto generated phpdoc is returned as plain text. Templates are resolved completely by the server."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "When set to `true`, anonymous usage and crash data will be sent to Azure Application Insights. Defaults to `false`."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables diagnostics."
}Raw JSON Schema
{
"type": "array",
"scope": "window",
"default": [
"*.php",
"*.phtml"
],
"description": "Configure glob patterns to make files available for language server features. Inherits from files.associations."
}Raw JSON Schema
{
"type": "string",
"default": ">> [Run Pest]",
"description": "CodeLens title. Can be changed to any display."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"default": [
"**/vendor/**"
],
"description": "Glob patterns matching files and folders that should be excluded from references search."
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"default": 100,
"description": "The maximum number of completion items returned per request."
}Raw JSON Schema
{
"enum": [
"none",
"multi-factor"
],
"type": "string",
"scope": "window",
"default": "multi-factor",
"description": "Controls whether suggestions will include a `sortText` property that may influence sort order.",
"enumDescriptions": [
"No `sortText` property will be provided. The client is solely responsible for sorting based on the `label` property.",
"A `sortText` property will be included based on factors like query match, kind of suggestion, location of symbol, name of symbol."
]
}Raw JSON Schema
{
"type": "object",
"scope": "resource",
"default": {
"**/vendor/**": [
"*"
]
},
"markdownDescription": "A map of globs to diagnostic codes to be excluded for the matching files. Use `*` as a value in the array to exclude all diagnostics. By default the vendor directory is excluded. You can override this by setting `**/vendor/**` to an empty array.",
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"pattern": "\\*|P\\d{4}"
}
}
}Raw JSON Schema
{
"type": "object",
"scope": "window",
"patternProperties": {
"P\\d{4}": {
"enum": [
1,
2,
3,
4
],
"type": "number",
"enumDescriptions": [
"Error.",
"Warning.",
"Information.",
"Hint."
]
}
},
"markdownDescription": "Sets the severity level for each diagnostic code."
}Raw JSON Schema
{
"type": "object",
"scope": "window",
"default": {
"tags": [
"@package ${1:$SYMBOL_NAMESPACE}"
],
"summary": "$1"
},
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of snippet strings representing phpdoc tags."
},
"summary": {
"type": "string",
"description": "A snippet string representing a phpdoc summary."
},
"description": {
"type": "string",
"description": "A snippet string representing a phpdoc description."
}
},
"description": "An object that describes the format of generated class/interface/trait phpdoc. The following snippet variables are available: SYMBOL_NAME; SYMBOL_KIND; SYMBOL_TYPE; SYMBOL_NAMESPACE."
}Raw JSON Schema
{
"enum": [
"single",
"all"
],
"type": "string",
"scope": "window",
"default": "single",
"description": "Controls the scope of a namespace rename operation.",
"enumDescriptions": [
"Only symbols defined in the current file are affected. For example, this makes a rename of a namespace the equivalent of a single move class operation.",
"All symbols that share this namespace, not necessarily defined in the current file will be affected. For example it would move all classes that share this namespace to the new namespace."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Will show an inlay hint for call declaration return type if not already declared."
}Raw JSON Schema
{
"type": "boolean",
"default": true,
"description": "Do not write test results to cache file (--do-not-cache-result)."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Use vertical belowright for pest terminal window."
}Raw JSON Schema
{
"type": "string",
"default": ">> [Run PHPUnit]",
"description": "CodeLens title. Can be changed to any display."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Disable code lens only (client)."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable a code lens that indicates if a method has a parent implementation and command to peek location."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable a code lens that shows a trait usages count and command to peek locations."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables deprecated diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables diagnostics on type compatibility of arguments, property assignments, and return statements where types have been declared."
}Raw JSON Schema
{
"type": "string",
"scope": "window",
"default": "8.4.0",
"description": "A semver compatible string that represents the target PHP version. Used for providing version appropriate suggestions and diagnostics. PHP 5.3.0 and greater supported."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Will auto-close short open echo tags (`<?=`). VSCode only."
}Raw JSON Schema
{
"enum": [
"phpunit",
"pest"
],
"type": "string",
"default": "phpunit",
"description": "Provider for CodeLens. Possible options include 'phpunit' and 'pest'"
}Raw JSON Schema
{
"enum": [
"camel",
"snake"
],
"type": "string",
"scope": "window",
"default": "snake",
"description": "The preferred font case to use when suggesting property names. Defaults to snake case.",
"enumDescriptions": [
"camelCase",
"snake_case"
]
}Raw JSON Schema
{
"type": "array",
"default": [
"dump-autoload",
"clear-cache",
"install",
"update"
],
"description": "Set the subcommand of the composer you want to execute."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"markdownDescription": "When enabled, type checks will be performed as if a `declare(strict_types=1)` directive is present in all files."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Enables reporting of irregularities in code that may be indicative of a bug. For example, assignments in a conditional expression or duplicate array keys."
}Raw JSON Schema
{
"type": "object",
"scope": "window",
"default": {
"tags": [
"@param ${1:$SYMBOL_TYPE} $SYMBOL_NAME $2",
"@return ${1:$SYMBOL_TYPE} $2",
"@throws ${1:$SYMBOL_TYPE} $2"
],
"summary": "$1"
},
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of snippet strings representing phpdoc tags."
},
"summary": {
"type": "string",
"description": "A snippet string representing a phpdoc summary."
},
"description": {
"type": "string",
"description": "A snippet string representing a phpdoc description."
}
},
"description": "An object that describes the format of generated function/method phpdoc. The following snippet variables are available: SYMBOL_NAME; SYMBOL_KIND; SYMBOL_TYPE; SYMBOL_NAMESPACE."
}Raw JSON Schema
{
"type": "object",
"scope": "window",
"default": {
"tags": [
"@var ${1:$SYMBOL_TYPE}"
],
"summary": "$1"
},
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of snippet strings representing phpdoc tags."
},
"summary": {
"type": "string",
"description": "A snippet string representing a phpdoc summary."
},
"description": {
"type": "string",
"description": "A snippet string representing a phpdoc description."
}
},
"description": "An object that describes the format of generated property phpdoc. The following snippet variables are available: SYMBOL_NAME; SYMBOL_KIND; SYMBOL_TYPE; SYMBOL_NAMESPACE."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Use vertical belowright for artisan terminal window."
}Raw JSON Schema
{
"enum": [
"camel",
"snake"
],
"type": "string",
"scope": "window",
"default": "camel",
"description": "The preferred font case to use when suggesting parameter names. Defaults to camel case.",
"enumDescriptions": [
"camelCase",
"snake_case"
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables reporting of errors associated with type member access."
}Raw JSON Schema
{
"type": "string",
"scope": "resource",
"description": "The directory of the entry point to the application (directory of index.php). Can be absolute or relative to the workspace folder. Used for resolving script inclusion and path suggestions."
}Raw JSON Schema
{
"type": "array",
"items": {
"type": "string"
},
"scope": "resource",
"description": "The include paths (as individual path items) as defined in the include_path ini setting or paths to external libraries. Can be absolute or relative to the workspace folder. Used for resolving script inclusion and/or adding external symbols to folder."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "When enabled '<?' will be parsed as a PHP open tag. Defaults to true."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Will show inlay hints for call argument parameter names if named arguments are not already in use."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Will show inlay hints for anonymous function declaration parameter types if not already declared."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Use vertical belowright for phpunit terminal window."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Disable completion only (server)."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Disable definition only (server)."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Use vertical belowright for symfony terminal window."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable a code lens that shows method override count and command to peek locations."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Method completions will include either a `parent` call or a `throw new Exception('Not implemented')` in the method body."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Use vertical belowright for composer terminal window."
}Raw JSON Schema
{
"enum": [
"on",
"declared",
"off"
],
"type": "string",
"scope": "window",
"default": "on",
"markdownDescription": "Enables argument count diagnostics.",
"markdownEnumDescriptions": [
"Argument count diagnostics will be emitted for declared functions and methods and annotated `@method` methods.",
"Argument count diagnostics will be emitted for declared functions and methods only. Annotated `@method` methods will be ignored.",
"Argument count diagnostics will be disabled."
]
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables unused variable, private member, and import diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Disable the feature of the extension to add `iskeyword`."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable a code lens that shows a reference count and command to peek locations."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables undefined class, interface and trait diagnostics."
}Raw JSON Schema
{
"type": "array",
"default": [
"require",
"require --dev",
"remove",
"remove --dev",
"update"
],
"description": "Set the subcommand of the composer you want to execute. Additional strings can be entered and executed in the subcommand."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Enables reporting of unreachable code."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables duplicate symbol diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "This setting turns off type checking for the `mixed` type. This is useful for projects that may have incomplete or innacurate typings. Set to `false` to make type checking more thorough by not allowing `mixed` to satisy any type constraint. This setting has no effect when `relaxedTypeCheck` is `true`."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "This setting makes type checking less thorough by allowing contravariant (wider) types to also satisfy a type constraint. This is useful for projects that may have incomplete or innacurate typings. Set to `false` for more thorough type checks. When this setting is `true`, the `noMixedTypeCheck` setting is ignored."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables undefined method diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "DEPRECATED. Use the setting for each symbol category."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables unexpected token diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables diagnostics in embedded languages."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Fully qualified names will be used for types when true. When false short type names will be used and imported where appropriate. Overrides intelephense.completion.insertUseDeclaration."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables undefined constant diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables undefined function diagnostics."
}Raw JSON Schema
{
"enum": [
"on",
"local",
"off"
],
"type": "string",
"scope": "window",
"default": "on",
"enumDescriptions": [
"Undefined variable diagnostics will be emitted for global and local scope variables.",
"Undefined variable diagnostics will be emitted for local scope variables only.",
"Undefined variable diagnostics will be disabled."
],
"markdownDescription": "Enables undefined variable diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Enable a code lens that shows an abstract and interface implementations count and command to peek locations."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Use declarations will be automatically inserted for namespaced classes, traits, interfaces, functions, and constants."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables reporting of various language constraint errors."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables undefined property diagnostics."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Disable scaffold completion (client). Typing `class_scaffold`, `interface_scaffold`, `trait_scaffold`, `enum_scaffold` or `test_scaffold` will output completion suggestions. This completion feature will only work on the first line of the file."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Disable snippets completion only (client)."
}Raw JSON Schema
{
"type": "array",
"default": [],
"description": "Exclude specific prefix in snippet completion"
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Method and function completions will include parentheses and trigger parameter hints."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Method completions will include an `#[Override]` attribute where appropriate if targeting PHP 8.3+."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables reporting of problems associated with method and class implementations. For example, unimplemented methods or method signature incompatibilities."
}Raw JSON Schema
{
"type": "array",
"default": [],
"description": "List of commands to quickly execute `intelephense.artisan.runCommand` or `intelephense.sailArtisan.runCommand` without prompting for arguments or options, e.g. `[\"route:list\", \"clear-compiled\"]`."
}Raw JSON Schema
{
"type": "boolean",
"default": true,
"description": "When `/**` is entered, `*/` is automatically inserted (`/**| */`). Then, automatically display the completion menu of PHPDoc comments."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Enables undefined class constant diagnostics."
}Raw JSON Schema
{
"type": "array",
"default": [],
"description": "List of commands to quickly execute `intelephense.symfony.runCommand` without prompting for arguments or options."
}Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Whether to enable the PHPDoc tag (`@intelephense-ignore-line`, `@intelephense-ignore-next-line`) feature and ignore errors."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "PHP permits the calling of static methods using the object operator eg `$obj->myStaticMethod();`. If you would prefer not to have static methods suggested in this context then set this value to `false`. Defaults to `true`."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Resolves `BaseClass|static` union types to `static` instead of `BaseClass`."
}Raw JSON Schema
{
"type": "number",
"scope": "window",
"default": 0,
"description": "Inserted text will be relative to any existing partial use declarations that may match the symbol. The value is the maximum number of namespace segments that may appear in the inserted text. Defaults to 0 (disabled)."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Global namespace constants and functions will be fully qualified (prefixed with a backslash)."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": false,
"description": "Prefer `@psalm-` and `@phpstan-` prefixed `@return`, `@var`, `@param` tags when determining symbol types."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"markdownDescription": "Suppresses undefined property and method errors when `__get` or `__call` magic methods are declared."
}Raw JSON Schema
{
"type": "boolean",
"scope": "window",
"default": true,
"description": "Resolves `ArrayAccess` and `Traversable` implementations that are unioned with a typed array to generic syntax. eg `ArrayAccessOrTraversable|ElementType[]` => `ArrayAccessOrTraversable<mixed, ElementType>`."
}