{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Python Language Server Configuration", "description": "This server can be configured using the `workspace/didChangeConfiguration` method. Each configuration option is described below. Note, a value of `null` means that we do not set a value and thus use the plugin's default value.", "type": "object", "properties": { "pylsp.configurationSources": { "type": "array", "default": [ "pycodestyle" ], "description": "List of configuration sources to use.", "items": { "type": "string", "enum": [ "pycodestyle", "flake8" ] }, "uniqueItems": true }, "pylsp.plugins.autopep8.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin (disabling required to use `yapf`)." }, "pylsp.plugins.flake8.config": { "type": [ "string", "null" ], "default": null, "description": "Path to the config file that will be the authoritative config source." }, "pylsp.plugins.flake8.enabled": { "type": "boolean", "default": false, "description": "Enable or disable the plugin." }, "pylsp.plugins.flake8.exclude": { "type": "array", "default": [], "items": { "type": "string" }, "description": "List of files or directories to exclude." }, "pylsp.plugins.flake8.extendIgnore": { "type": "array", "default": [], "items": { "type": "string" }, "description": "List of errors and warnings to append to ignore list." }, "pylsp.plugins.flake8.executable": { "type": "string", "default": "flake8", "description": "Path to the flake8 executable." }, "pylsp.plugins.flake8.filename": { "type": [ "string", "null" ], "default": null, "description": "Only check for filenames matching the patterns in this list." }, "pylsp.plugins.flake8.hangClosing": { "type": [ "boolean", "null" ], "default": null, "description": "Hang closing bracket instead of matching indentation of opening bracket's line." }, "pylsp.plugins.flake8.ignore": { "type": "array", "default": [], "items": { "type": "string" }, "description": "List of errors and warnings to ignore (or skip)." }, "pylsp.plugins.flake8.maxComplexity": { "type": "integer", "default": null, "description": "Maximum allowed complexity threshold." }, "pylsp.plugins.flake8.maxLineLength": { "type": [ "integer", "null" ], "default": null, "description": "Maximum allowed line length for the entirety of this run." }, "pylsp.plugins.flake8.indentSize": { "type": [ "integer", "null" ], "default": null, "description": "Set indentation spaces." }, "pylsp.plugins.flake8.perFileIgnores": { "type": [ "array" ], "default": [], "items": { "type": "string" }, "description": "A pairing of filenames and violation codes that defines which violations to ignore in a particular file, for example: `[\"file_path.py:W305,W304\"]`)." }, "pylsp.plugins.flake8.select": { "type": [ "array", "null" ], "default": null, "items": { "type": "string" }, "uniqueItems": true, "description": "List of errors and warnings to enable." }, "pylsp.plugins.jedi.auto_import_modules": { "type": "array", "default": [ "numpy" ], "items": { "type": "string" }, "description": "List of module names for jedi.settings.auto_import_modules." }, "pylsp.plugins.jedi.extra_paths": { "type": "array", "default": [], "items": { "type": "string" }, "description": "Define extra paths for jedi.Script." }, "pylsp.plugins.jedi.env_vars": { "type": [ "object", "null" ], "default": null, "description": "Define environment variables for jedi.Script and Jedi.names." }, "pylsp.plugins.jedi.environment": { "type": [ "string", "null" ], "default": null, "description": "Define environment for jedi.Script and Jedi.names." }, "pylsp.plugins.jedi_completion.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.jedi_completion.include_params": { "type": "boolean", "default": true, "description": "Auto-completes methods and classes with tabstops for each parameter." }, "pylsp.plugins.jedi_completion.include_class_objects": { "type": "boolean", "default": false, "description": "Adds class objects as a separate completion item." }, "pylsp.plugins.jedi_completion.include_function_objects": { "type": "boolean", "default": false, "description": "Adds function objects as a separate completion item." }, "pylsp.plugins.jedi_completion.fuzzy": { "type": "boolean", "default": false, "description": "Enable fuzzy when requesting autocomplete." }, "pylsp.plugins.jedi_completion.eager": { "type": "boolean", "default": false, "description": "Resolve documentation and detail eagerly." }, "pylsp.plugins.jedi_completion.resolve_at_most": { "type": "integer", "default": 25, "description": "How many labels and snippets (at most) should be resolved?" }, "pylsp.plugins.jedi_completion.cache_for": { "type": "array", "items": { "type": "string" }, "default": [ "pandas", "numpy", "tensorflow", "matplotlib" ], "description": "Modules for which labels and snippets should be cached." }, "pylsp.plugins.jedi_definition.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.jedi_definition.follow_imports": { "type": "boolean", "default": true, "description": "The goto call will follow imports." }, "pylsp.plugins.jedi_definition.follow_builtin_imports": { "type": "boolean", "default": true, "description": "If follow_imports is True will decide if it follow builtin imports." }, "pylsp.plugins.jedi_definition.follow_builtin_definitions": { "type": "boolean", "default": true, "description": "Follow builtin and extension definitions to stubs." }, "pylsp.plugins.jedi_hover.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.jedi_references.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.jedi_signature_help.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.jedi_symbols.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.jedi_symbols.all_scopes": { "type": "boolean", "default": true, "description": "If True lists the names of all scopes instead of only the module namespace." }, "pylsp.plugins.jedi_symbols.include_import_symbols": { "type": "boolean", "default": true, "description": "If True includes symbols imported from other libraries." }, "pylsp.plugins.mccabe.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.mccabe.threshold": { "type": "integer", "default": 15, "description": "The minimum threshold that triggers warnings about cyclomatic complexity." }, "pylsp.plugins.preload.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.preload.modules": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "List of modules to import on startup" }, "pylsp.plugins.pycodestyle.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.pycodestyle.exclude": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "Exclude files or directories which match these patterns." }, "pylsp.plugins.pycodestyle.filename": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "When parsing directories, only check filenames matching these patterns." }, "pylsp.plugins.pycodestyle.select": { "type": [ "array", "null" ], "default": null, "items": { "type": "string" }, "uniqueItems": true, "description": "Select errors and warnings" }, "pylsp.plugins.pycodestyle.ignore": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "Ignore errors and warnings" }, "pylsp.plugins.pycodestyle.hangClosing": { "type": [ "boolean", "null" ], "default": null, "description": "Hang closing bracket instead of matching indentation of opening bracket's line." }, "pylsp.plugins.pycodestyle.maxLineLength": { "type": [ "integer", "null" ], "default": null, "description": "Set maximum allowed line length." }, "pylsp.plugins.pycodestyle.indentSize": { "type": [ "integer", "null" ], "default": null, "description": "Set indentation spaces." }, "pylsp.plugins.pydocstyle.enabled": { "type": "boolean", "default": false, "description": "Enable or disable the plugin." }, "pylsp.plugins.pydocstyle.convention": { "type": [ "string", "null" ], "default": null, "enum": [ "pep257", "numpy", "google", null ], "description": "Choose the basic list of checked errors by specifying an existing convention." }, "pylsp.plugins.pydocstyle.addIgnore": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "Ignore errors and warnings in addition to the specified convention." }, "pylsp.plugins.pydocstyle.addSelect": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "Select errors and warnings in addition to the specified convention." }, "pylsp.plugins.pydocstyle.ignore": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": true, "description": "Ignore errors and warnings" }, "pylsp.plugins.pydocstyle.select": { "type": [ "array", "null" ], "default": null, "items": { "type": "string" }, "uniqueItems": true, "description": "Select errors and warnings" }, "pylsp.plugins.pydocstyle.match": { "type": "string", "default": "(?!test_).*\\.py", "description": "Check only files that exactly match the given regular expression; default is to match files that don't start with 'test_' but end with '.py'." }, "pylsp.plugins.pydocstyle.matchDir": { "type": "string", "default": "[^\\.].*", "description": "Search only dirs that exactly match the given regular expression; default is to match dirs which do not begin with a dot." }, "pylsp.plugins.pyflakes.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.plugins.pylint.enabled": { "type": "boolean", "default": false, "description": "Enable or disable the plugin." }, "pylsp.plugins.pylint.args": { "type": "array", "default": [], "items": { "type": "string" }, "uniqueItems": false, "description": "Arguments to pass to pylint." }, "pylsp.plugins.pylint.executable": { "type": [ "string", "null" ], "default": null, "description": "Executable to run pylint with. Enabling this will run pylint on unsaved files via stdin. Can slow down workflow. Only works with python3." }, "pylsp.plugins.rope_autoimport.enabled": { "type": "boolean", "default": false, "description": "Enable or disable autoimport. If false, neither completions nor code actions are enabled. If true, the respective features can be enabled or disabled individually." }, "pylsp.plugins.rope_autoimport.completions.enabled": { "type": "boolean", "default": true, "description": "Enable or disable autoimport completions." }, "pylsp.plugins.rope_autoimport.code_actions.enabled": { "type": "boolean", "default": true, "description": "Enable or disable autoimport code actions (e.g. for quick fixes)." }, "pylsp.plugins.rope_autoimport.memory": { "type": "boolean", "default": false, "description": "Make the autoimport database memory only. Drastically increases startup time." }, "pylsp.plugins.rope_completion.enabled": { "type": "boolean", "default": false, "description": "Enable or disable the plugin." }, "pylsp.plugins.rope_completion.eager": { "type": "boolean", "default": false, "description": "Resolve documentation and detail eagerly." }, "pylsp.plugins.yapf.enabled": { "type": "boolean", "default": true, "description": "Enable or disable the plugin." }, "pylsp.rope.extensionModules": { "type": [ "string", "null" ], "default": null, "description": "Builtin and c-extension modules that are allowed to be imported and inspected by rope." }, "pylsp.rope.ropeFolder": { "type": [ "array", "null" ], "default": null, "items": { "type": "string" }, "uniqueItems": true, "description": "The name of the folder in which rope stores project configurations and data. Pass `null` for not using such a folder at all." } } }