为 fortls 贡献代码¶
您可以通过几种方式支持 fortls
项目。
财务支持¶
您可以通过捐赠来为 Fortran-lang 提供财政支持,请参阅 Fortran-lang - NumFOCUS。
贡献代码¶
👍🎉 感谢您抽出时间贡献!🎉👍
在本文件中,您将找到引导您完成对项目首次贡献的所有必要步骤。
请注意我们的 行为准则,并在您与该项目的所有互动中遵守它。
📚 入门¶
一个好的起点是 GitHub 上的 问题标签。查找带有 help wanted
标签的任何问题。
下载 ⬇️¶
首先,从 https://github.com/fortran-lang/fortls 分叉存储库。
然后将分叉的存储库克隆到您的本地机器。
[email protected]:<YOUR-USERNAME>/fortls.git
其中 <YOUR-USERNAME>
应为您的 GitHub 用户名。
依赖项¶
要构建此项目,您需要 Python >= 3.7
和 pip >= 21.0
。要安装所有 Python 依赖项,请打开终端,进入已克隆的 fortls
文件夹并运行
pip install -e ".[dev,docs]"
测试 🧪¶
要验证您的 GitHub 存储库克隆是否按预期工作,请打开终端并运行
pytest -v
这将运行整个单元测试套件。您也可以运行此命令来验证您是否没有破坏代码中的任何内容。
👉 提示!您可以通过选择 Python 文件和方法的路径来运行单个测试
pytest test/test_interface.py::test_version_update_pypi
开发和调试 🐞️¶
❗️ 在开始开发之前,在 fortls
内部打开一个终端并运行
pre-commit install
这将确保您所有的提交都符合项目的格式标准。
现在您可以开始编写代码了!您的本地 fortls
版本将在您进行的每次代码更改后更新,因此您可以使用您的普通代码编辑器来查看您已实现的 fortls
功能。但是,创建紧凑的单元测试来检查您的更改是否有效要容易得多。
一个 fortls
测试通常涉及编写一个 Python 函数,该函数向服务器发送 JSONRPC 请求,然后测试检查服务器响应是否正确。通常,还需要提交少量 Fortran 源代码供测试使用。您可以在 tests
目录中找到各种测试示例。
👉 提示!您可以在单元测试期间将调试器附加到主 fortls
源代码,这应该允许您在测试时暂停、中断、单步进入等,从而更容易找到错误。
合并¶
要将您的更改合并到主 fortls
存储库,请将您的分支推送到 GitHub 并打开一个 拉取请求。Ping @gnikit
以审查您的 PR。