0

在 Odoo 模块上工作,我创建了一个项目文件夹,根据我在书中找到的指示进行布局

“Odoo 14 开发手册 - 第 4 版”

这是我的项目文件夹的布局

project_Im-working-on/
├── bin
│   └── odoo
├── contrib
│   ├── l10n-italy
│   └── OCA
├── env
│   ├── bin
│   ├── include
│   ├── lib
│   ├── pyvenv.cfg
│   └── share
├── .venv
│   ├── bin
│   ├── include
│   ├── lib
│   ├── pyvenv.cfg
│   └── share
├── filestore
├── local
│   └── project_Im-working-on
├── logs
├── poetry.lock
├── pyproject.toml
├── project_Im-working-on.cfg
└── src
    ├── odoo
    └── odoo-stubs14

src/*包含 odoo 代码本身和一堆 .pyi 文件,这些文件与 PyCharm 的 Odoo 模块一起分发

contrib/*包含由 Odoo 社区协会 (OCA) 和意大利 Odoo 用户协会分发的 Odoo 模块(主要是本地化内容)

env包含 PyCharm 使用的 virtualenv

.venv包含 Poetry 使用的 virtualenv(我正在考虑切换到 Poetry)

local包含我正在处理的实际模块

在基于诗歌的环境中,我安装了 python-language-server 作为开发依赖项

这是我pyproject.toml文件中的一个片段

[tool.poetry.dev-dependencies]
rope = "^0.22.0"
yapf = "^0.31.0"
pyflakes = "^2.4.0"
pylsp-mypy = "^0.5.2"
pylsp-rope = "^0.1.7"
python-lsp-server = {extras = ["yapf"], version = "^1.3.1"}

当我在 Emacs 中打开一个缓冲区时local/project_Im-working-on/models/some-model.py,python-language-server 将一个.ropeproject文件夹放在local/project_Im-working-on

这个可以吗 ?

根文件夹不是更合适吗?

我如何指示它找到我的contribsrc文件夹?

这是我的 Emacs 初始化文件中的一个片段

;; lsp-mode configs
(use-package lsp-mode
  ;;:delight lsp-lens-mode ""
  :ensure t
  :init
  ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l")
  (setq lsp-keymap-prefix "C-c l")
  ;;:custom
  (lsp-auto-guess-root +1)  **<-- here !!!!**
  :config
  (setq lsp-pylsp-plugins-jedi-use-pyenv-environment t)
  (setq lsp-prefer-flymake nil)
  (setq lsp-headerline-breadcrumb-enable t)
  :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode)
         (python-mode . lsp-deferred)
         ;; if you want which-key integration
         (lsp-mode . lsp-enable-which-key-integration)
         ;;(lsp-mode . lsp-lens-mode)
         ;;(lsp-after-open . 'lsp-enable-imenu)
         )
  :commands (lsp lsp-deferred))
4

0 回答 0