首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs - Python setup.cfg不受尊重

Emacs - Python setup.cfg不受尊重
EN

Stack Overflow用户
提问于 2022-03-12 00:46:22
回答 1查看 399关注 0票数 2

我使用的是香草Emacs,我安装了lsp-mode,如下所示:

代码语言:javascript
复制
(use-package lsp-mode
  :init
  (setq lsp-keymap-prefix "C-c l")
  :commands (lsp lsp-deferred)
  :config (defun lsp-go-install-save-hooks ()
            (add-hook 'before-save-hook #'lsp-format-buffer t t)
            (add-hook 'before-save-hook #'lsp-organize-imports t t))
  :hook (
         (lsp-mode . lsp-enable-which-key-integration)
         (go-mode . lsp-deferred)
         (go-mode . lsp-go-install-save-hooks)
         (typescript-mode . lsp-deferred)
         (python-mode . lsp-deferred)
         )
  )

对于Python,我安装了。一切看起来都很好,但问题是我无法覆盖默认的pycodestyle设置。例如,它抱怨长行> 79,所以我尝试在项目的根目录中添加以下setup.cfg

代码语言:javascript
复制
[pycodestyle]
max-line-length=99

但这没有被考虑在内,我是不是遗漏了什么?我看到了在全球范围内改变设置的可能性,但我希望在每个项目的基础上进行调整。

更新

如果pycodestyle是从终端运行的,它就会按预期的方式工作:它使用默认的行长限制进行抱怨,如果我将它增加到代码中最长的行的值,则不会。

*lsp-log*缓冲区似乎没有提供任何有意义的信息:

代码语言:javascript
复制
Command "pyls" is not present on the path.
Command "pylsp" is present on the path.
Command "pyls" is not present on the path.
Command "pylsp" is present on the path.
Found the following clients for /<some path>/sample-app/sample_app/__init__.py: (server-id pylsp, priority -1)
The following clients were selected based on priority: (server-id pylsp, priority -1)

如果我执行flycheck-describe-checker命令,这是输出:

代码语言:javascript
复制
lsp is a Flycheck syntax checker.

  This syntax checker checks syntax in the major mode(s)
  `python-mode', `lsp-placeholder-mode', and uses a custom predicate.

Documentation:
A syntax checker using the Language Server Protocol (LSP)
provided by lsp-mode.
See https://github.com/emacs-lsp/lsp-mode.

如果我通过执行命令flycheck禁用flycheck-disable-checker,那么警告就会消失,但是它会停止所有的检查。因此,似乎flycheck对不尊重setup.cfg负有责任。

EN

回答 1

Stack Overflow用户

发布于 2022-03-12 14:03:08

我能理解这是怎么回事。看起来,flycheck使用的是flake8而不是pycodestyle。实际上,在我将setup.cfg转换为以下内容之后:

代码语言:javascript
复制
[flake8]
max-line-length=99

一切都如期而至。

问题是,根据文档 of python-lsp-server,默认情况下,它应该使用pycodestyle。此外,检查通过flake8似乎需要第三方插件,根据文档,我没有安装。

并不是所有的事情都像预期的那样工作,例如,我有一些关于D100D104的抱怨,如果我在配置中忽略它们,它们还没有被尊重。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71446079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档