-
Notifications
You must be signed in to change notification settings - Fork 3
Contributing
qingchenyouforcc edited this page Feb 26, 2026
·
6 revisions
感谢你对 NeurolingsCE 的关注!本页面介绍如何参与项目开发。
Thank you for your interest in NeurolingsCE! This page explains how to contribute to the project.
建议先阅读以下文档:
- libshijima 不接受外部贡献 — 上游 README 中明确声明。作为只读子模块使用。
- libshimejifinder 和 cpp-httplib — 同为只读子模块。
- 修改子模块代码请向对应的上游仓库提交。
| 工具 | 推荐 |
|---|---|
| IDE | Visual Studio 2022 (Windows) / VS Code / CLion |
| C++ 标准 | C++17 |
| Qt 版本 | 6.8+ |
| 格式化 | 手动保持一致(无 .clang-format) |
git clone https://github.com/qingchenyouforcc/NeurolingsCE.git
cd NeurolingsCE
git submodule update --init --recursive提交 PR 前确保至少在一个平台上可以编译通过:
# Windows (MSVC)
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DQt6_DIR=<your-qt-path>
cmake --build build
# Linux / macOS
CONFIG=debug make -j$(nproc)| 规则 | 说明 |
|---|---|
| 头文件/源文件分离 | 头文件在 include/shijima-qt/*.hpp,实现在 src/app/*.cc
|
| 文件扩展名 | 源文件用 .cc(不是 .cpp),头文件用 .hpp
|
| 头文件保护 | 使用 #pragma once
|
| License 头 | 每个源文件/头文件顶部包含 GPLv3 许可证样板 |
项目没有 .clang-format 或 .clang-tidy 配置,请匹配现有代码风格:
| 方面 | 风格 |
|---|---|
| 缩进 | 4 空格 |
| 大括号 | K&R 风格(开括号不换行) |
| 命名 - 类 | PascalCase (ShijimaManager) |
| 命名 - 方法 | camelCase (updateEnvironment) |
| 命名 - 成员 |
m_ 前缀 (m_mascots) |
| 命名 - 常量/宏 | UPPER_SNAKE_CASE (SHIJIMA_USE_QTMULTIMEDIA) |
| Include 风格 |
#include "shijima-qt/Foo.hpp" / #include <shijima/...> / #include "Platform/..."
|
// 平台判断
#ifdef WIN32 // Windows
#ifdef __linux__ // Linux
#ifdef __APPLE__ // macOS
// 功能开关
#if SHIJIMA_USE_QTMULTIMEDIA
#if SHIJIMA_WITH_SHIMEJIFINDER- 不要 使用 C 风格强制转换
- 不要 压制类型错误
- 使用
static_cast<>,dynamic_cast<>等 C++ 转换 - 使用
std::unique_ptr,std::shared_ptr管理资源(参考ShijimaWidget中的m_mascot)
在 GitHub 上 fork NeurolingsCE。
git checkout -b feature/my-feature
# 或
git checkout -b fix/my-bugfix- 确保代码可在至少一个平台上编译
- 如果修改了平台相关代码,尽量在相关平台上测试
- 如果修改了 UI,确保中英文翻译都正确
git add .
git commit -m "描述你的修改"建议的提交信息格式:
-
feat: 添加 XXX 功能— 新功能 -
fix: 修复 XXX 问题— Bug 修复 -
refactor: 重构 XXX— 重构 -
docs: 更新 XXX 文档— 文档 -
i18n: 更新 XXX 翻译— 翻译
推送到 fork 后,在 GitHub 上创建 PR 到 main 分支。
PR 中请说明:
- 修改了什么
- 为什么要修改
- 如何测试
PR 会触发 CI 构建(build-debug.yaml),在 Windows、Linux (x86_64 + arm64)、macOS 上编译验证。
- 修复 Taskbar bug
- i18n 支持扩展
- GitHub Issues: 问题反馈
- 反馈 QQ 群: 423902950
- 交流 QQ 群: 125081756
如果你对 Neuro 社区项目开发感兴趣,可以联系作者加入 NeuForge Center。