开发 Electron¶
这些指南面向参与 Electron 项目本身开发的人员。 有关 Electron 应用开发的指南,请参见 /docs/README.md。
目录¶
- 问题
- 拉取请求
- 文档风格指南
- 源代码目录结构
- 编码风格
- 在 C++ 代码中使用 clang-tidy
- 构建说明
- macOS
- Windows
- Linux
- Chromium 开发
- V8 开发
- 测试
- 调试
- 补丁
入门¶
要为 Electron 做贡献,你首先要做的是获取代码。
Electron 的 build-tools 自动化了使用不同配置和构建目标从源代码编译 Electron 的大部分设置工作。
如果你更喜欢手动构建 Electron,请参见构建说明。
在检出并构建代码后,你可能需要浏览一下源代码树,以更好地了解 每个目录的职责。源代码目录结构 概述了每个目录的用途。
在 Electron 中提交问题¶
对于任何问题,个人通常可以通过三种方式做出贡献:
- 通过提交问题以进行讨论
- 如果你认为自己在 Electron 中发现了一个新 bug,你应该在
electron/electron问题跟踪器 中创建新问题来报告它。
- 如果你认为自己在 Electron 中发现了一个新 bug,你应该在
- 通过帮助分诊问题
- 你可以通过提供辅助细节(一个可复现的测试用例,用于演示 bug)或提供解决该问题的建议来做到这一点。
- 通过帮助解决问题
- 这可以通过证明该问题不是 bug 或已修复来完成;
但更常见的是,通过提交一个拉取请求,以具体且可审查的方式更改
electron/electron中的源代码。
- 这可以通过证明该问题不是 bug 或已修复来完成;
但更常见的是,通过提交一个拉取请求,以具体且可审查的方式更改
有关更多信息,请参见问题。
向 Electron 提交拉取请求¶
大多数针对 electron/electron 仓库提交的拉取请求包含
对 shell/ 文件夹中的 C/C++ 代码、
lib/ 文件夹中的 TypeScript 代码、docs/ 中的文档
或 spec/ 文件夹中的测试的更改。
有关更多信息,请参见拉取请求。
如果你想为 Electron 添加一个新的 API 模块,请查看创建 API。
治理¶
Electron 拥有一个成熟的治理系统,负责监督 Electron 中的活动,其工作组负责 API、发布以及对 Electron 依赖项(包括 Chromium 和 Node.js)的升级等领域。根据你希望贡献的频率和目的,你可能需要考虑加入一个工作组。
有关每个工作组及其职责的详细信息,可在治理仓库中找到。
Electron 中的补丁¶
Electron 建立在两个主要上游项目之上:Chromium 和 Node.js。这些项目中的每一个也有自己的若干依赖项。我们尽力原样使用这些依赖项,但有时如果不修补这些上游依赖项以适应我们的用例,就无法实现目标。
因此,我们维护一组补丁,作为源代码树的一部分。通过拉取请求向 Electron 源代码树添加或修改其中一个补丁的流程,可在补丁中找到。
调试¶
调试 Electron 中的问题和 bug 有许多不同的方法,其中许多 是特定于平台的。
有关调试 Electron 本身(而不是一个 使用 Electron 构建 的应用)的相关信息概述,请参见调试。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron