pyls配置
~/.config/pycodestyle
pycodestyle 官方文档
https://www.osgeo.cn/pycodestyle/intro.html
在项目级别,asetup.cfg
文件或tox.ini
如果存在,则读取文件。如果这些文件都没有[pycodestyle]
节,未加载项目特定的配置。
[pycodestyle]# count = False
# ignore = E226,E302,E41
max-line-length = 120
# statistics = True
pyls 的main
#!/opt/miniconda3/bin/python# -*- coding: utf-8 -*-
import re
import sys
from pyls.__main__ import main
if __name__ == "__main__":
sys.argv[0] = re.sub(r"(-script.pyw?|.exe)?$", "", sys.argv[0])
sys.exit(main())
python_ls.py
定义了
start_io_lang_server
start_tcp_lang_server
LINT_DEBOUNCE_S = 0.5 # 500 msPARENT_PROCESS_WATCH_INTERVAL = 10 # 10 s
MAX_WORKERS = 64
PYTHON_FILE_EXTENSIONS = (".py", ".pyi")
CONFIG_FILEs = ("pycodestyle.cfg", "setup.cfg", "tox.ini", ".flake8")
def start_io_lang_server(rfile, wfile, check_parent_process, handler_class): if not issubclass(handler_class, PythonLanguageServer):
raise ValueError("Handler class must be an instance of PythonLanguageServer") # E501 line too long (85 > 79 characters)
log.info("Starting %s IO language server", handler_class.__name__)
server = handler_class(rfile, wfile, check_parent_process)
server.start()
handler_class 是 PythonLanguageServer类型 使用这个类型的 实例 的 start() 函数.
PythonLanguageServer 类也是在文件python_ls.py 中定义的.
class PythonLanguageServer(MethodDispatcher): """ Implementation of the Microsoft VSCode Language Server Protocol
https://github.com/Microsoft/language-server-protocol/blob/master/versions/protocol-1-x.md
def __init__(self, rx, tx, check_parent_process=False):
self.workspace = None
self.config = None
self.root_uri = None
self.watching_thread = None
self.workspaces = {}
self.uri_workspace_mapper = {}
self._jsonrpc_stream_reader = JsonRpcStreamReader(rx)
self._jsonrpc_stream_writer = JsonRpcStreamWriter(tx)
self._check_parent_process = check_parent_process
self._endpoint = Endpoint(self, self._jsonrpc_stream_writer.write, max_workers=MAX_WORKERS) E501 line too long (99 > 79 characters)
self._dispatchers = []
self._shutdown = False
"""
# pylint: disable=too-many-public-methods,redefined-builtin
2020-02-15 22:32:08,879 UTC - INFO - pyls.python_ls - Starting PythonLanguageServer IO language server2020-02-15 22:32:09,428 UTC - INFO - pyls.config.config - Loaded pyls plugin autopep8 from <module "pyls.plugins.autopep8_format" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/autopep8_format.py">
2020-02-15 22:32:09,428 UTC - INFO - pyls.config.config - Loaded pyls plugin flake8 from <module "pyls.plugins.flake8_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/flake8_lint.py">
2020-02-15 22:32:09,428 UTC - INFO - pyls.config.config - Loaded pyls plugin folding from <module "pyls.plugins.folding" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/folding.py">
2020-02-15 22:32:09,428 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_completion from <module "pyls.plugins.jedi_completion" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/jedi_completion.py">
2020-02-15 22:32:09,428 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_definition from <module "pyls.plugins.definition" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/definition.py">
2020-02-15 22:32:09,428 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_highlight from <module "pyls.plugins.highlight" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/highlight.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_hover from <module "pyls.plugins.hover" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/hover.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_references from <module "pyls.plugins.references" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/references.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_signature_help from <module "pyls.plugins.signature" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/signature.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin jedi_symbols from <module "pyls.plugins.symbols" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/symbols.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin mccabe from <module "pyls.plugins.mccabe_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/mccabe_lint.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin preload from <module "pyls.plugins.preload_imports" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/preload_imports.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin pycodestyle from <module "pyls.plugins.pycodestyle_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/pycodestyle_lint.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin pydocstyle from <module "pyls.plugins.pydocstyle_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/pydocstyle_lint.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin pyflakes from <module "pyls.plugins.pyflakes_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/pyflakes_lint.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin pylint from <module "pyls.plugins.pylint_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/pylint_lint.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin rope_completion from <module "pyls.plugins.rope_completion" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/rope_completion.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin rope_rename from <module "pyls.plugins.rope_rename" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/rope_rename.py">
2020-02-15 22:32:09,429 UTC - INFO - pyls.config.config - Loaded pyls plugin yapf from <module "pyls.plugins.yapf_format" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/yapf_format.py">
2020-02-15 22:32:09,430 UTC - INFO - pyls.config.config - Disabled plugins: [<module "pyls.plugins.flake8_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/flake8_lint.py">, <module "pyls.plugins.pydocstyle_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/pydocstyle_lint.py">, <module "pyls.plugins.pylint_lint" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/pylint_lint.py">, <module "pyls.plugins.rope_completion" from "/opt/miniconda3/lib/python3.7/site-packages/pyls/plugins/rope_completion.py">]
2020-02-15 22:32:09,831 UTC - INFO - pyls.python_ls - Server capabilities: {"codeActionProvider": True, "codeLensProvider": {"resolveProvider": False}, "completionProvider": {"resolveProvider": False, "triggerCharacters": ["."]}, "documentFormattingProvider": True, "documentHighlightProvider": True, "documentRangeFormattingProvider": True, "documentSymbolProvider": True, "definitionProvider": True, "executeCommandProvider": {"commands": []}, "hoverProvider": True, "referencesProvider": True, "renameProvider": True, "foldingRangeProvider": True, "signatureHelpProvider": {"triggerCharacters": ["(", ",", "="]}, "textDocumentSync": {"change": 2, "save": {"includeText": True}, "openClose": True}, "workspace": {"workspaceFolders": {"supported": True, "changeNotifications": True}}, "experimental": {}}
以上是 pyls配置 的全部内容, 来源链接: utcz.com/z/513486.html