# 🧭 阑山桌面插件开发文档导航 欢迎来到 **LanMountainDesktop(阑山桌面)** 插件开发文档! 这套文档将帮助你从零开始,一步步掌握插件开发的完整流程,最终发布你的作品到插件市场。 --- ## 📖 文档概述 **目标读者:** - 有一定 .NET/C# 基础的开发者 - 熟悉或愿意学习 Avalonia UI 框架的开发者 - 想要为阑山桌面扩展功能的创意开发者 **你能学到什么:** - 🚀 快速搭建插件开发环境 - 🧩 创建桌面组件(Widgets) - ⚙️ 集成设置页面 - 🎨 适配主题和外观 - 🐛 调试和故障排除 - 🚀 CI/CD 自动化构建 - 📦 发布到插件市场 --- ## 🛤️ 推荐阅读路径 ### 🌱 新手路径(从零开始) 如果你从未开发过阑山桌面插件,请按以下顺序阅读: 1. **[01-开发环境准备](01-快速开始/01-开发环境准备.md)** - 安装必要工具和模板 2. **[02-三分钟创建第一个插件](01-快速开始/02-三分钟创建第一个插件.md)** - 快速上手,建立信心 3. **[03-插件项目结构详解](01-快速开始/03-插件项目结构详解.md)** - 理解项目组成 4. **[04-调试运行指南](01-快速开始/04-调试运行指南.md)** - 学会调试技巧 5. **[01-插件生命周期](02-核心概念与原理/01-插件生命周期.md)** - 理解运行原理 6. **[02-桌面组件系统](02-核心概念与原理/02-桌面组件系统.md)** - 创建你的第一个组件 7. **[01-开发天气组件](04-实战案例/01-开发天气组件.md)** - 完整实战案例 **预计时间:** 2-3 小时即可开发出第一个可用插件 ### 🚀 有经验路径(已有 .NET/Avalonia 基础) 如果你已有相关经验,可以跳过基础部分: 1. **[01-开发环境准备](01-快速开始/01-开发环境准备.md)** - 快速配置环境 2. **[02-核心概念与原理/](02-核心概念与原理/)** - 了解阑山桌面的特殊机制 3. **[03-API实践指南/](03-API实践指南/)** - 查阅具体 API 用法 4. **[04-实战案例/](04-实战案例/)** - 参考完整示例 --- ## 🔍 快速问题索引 | 我想知道... | 查看文档 | |------------|---------| | 如何搭建开发环境? | [01-开发环境准备](01-快速开始/01-开发环境准备.md) | | 如何创建第一个插件? | [02-三分钟创建第一个插件](01-快速开始/02-三分钟创建第一个插件.md) | | plugin.json 各字段含义? | [03-插件项目结构详解](01-快速开始/03-插件项目结构详解.md) | | 如何调试插件代码? | [04-调试运行指南](01-快速开始/04-调试运行指南.md) | | 插件什么时候初始化?能做什么? | [01-插件生命周期](02-核心概念与原理/01-插件生命周期.md) | | 什么是桌面组件?如何创建? | [02-桌面组件系统](02-核心概念与原理/02-桌面组件系统.md) | | 如何添加设置页面? | [03-设置系统集成](02-核心概念与原理/03-设置系统集成.md) + [04-开发设置页面](04-实战案例/04-开发设置页面.md) | | 如何适配暗色模式? | [04-外观与主题系统](02-核心概念与原理/04-外观与主题系统.md) | | 插件之间如何通信? | [05-插件间通信](02-核心概念与原理/05-插件间通信.md) | | 完整的组件开发示例? | [01-开发天气组件](04-实战案例/01-开发天气组件.md) | | 如何排查插件不加载的问题? | [03-常见问题排查](05-调试与故障排除/03-常见问题排查.md) | | 如何配置 GitHub Actions? | [01-GitHub Actions入门](06-CI-CD与自动化/01-GitHub Actions入门.md) | | 如何自动打包 .laapp? | [03-自动打包与发布](06-CI-CD与自动化/03-自动打包与发布.md) | | 如何发布到插件市场? | [03-发布到插件市场](07-发布与运营/03-发布到插件市场.md) | --- ## 📚 相关资源 ### 官方资源 | 资源 | 位置 | 说明 | |-----|------|------| | **Plugin SDK 源码** | `LanMountainDesktop.PluginSdk/` | SDK 的完整源码和 XML 注释 | | **插件模板** | `LanMountainDesktop.PluginTemplate/` | `dotnet new` 模板源码 | | **共享契约** | `LanMountainDesktop.Shared.Contracts/` | 宿主与插件共享的类型定义 | | **架构文档** | `docs/ARCHITECTURE.md` | 宿主应用架构说明 | | **视觉规范** | `docs/VISUAL_SPEC.md` | UI 设计规范 | | **圆角规范** | `docs/CORNER_RADIUS_SPEC.md` | 圆角设计系统 | | **开发指南** | `docs/DEVELOPMENT.md` | 宿主开发指南 | ### 外部资源 | 资源 | 链接 | 说明 | |-----|------|------| | **示例插件仓库** | `LanMountainDesktop.SamplePlugin` | 官方示例插件(独立仓库) | | **Avalonia UI 文档** | https://docs.avaloniaui.net/ | UI 框架官方文档 | | **FluentAvalonia** | https://github.com/amwx/FluentAvalonia | 主题控件库 | | **.NET 文档** | https://learn.microsoft.com/dotnet/ | .NET 官方文档 | --- ## 💡 获取帮助 如果在开发过程中遇到问题: 1. **查阅本文档** - 使用上方快速索引找到相关章节 2. **查看示例代码** - 参考 `LanMountainDesktop.PluginTemplate/content/` 中的模板代码 3. **阅读 SDK 源码** - `LanMountainDesktop.PluginSdk/` 中有详细的 XML 注释 4. **搜索 Issues** - 在 GitHub 仓库搜索是否有人遇到类似问题 5. **提交 Issue** - 如果确认是 bug,欢迎提交 Issue --- ## 🎯 下一步 准备好开始了吗?点击 **[01-开发环境准备](01-快速开始/01-开发环境准备.md)** 开始你的插件开发之旅! --- *最后更新:2026年4月*