import{_ as r,c as i,e as o,a as n,b as t,d as s,w as a,r as d,o as u}from"./app-DlzW8FTI.js";const p="/assets/DevBannerMain-BTsfXLS0.webp",m={};function g(f,l){const e=d("RouteLink");return u(),i("div",null,[l[36]||(l[36]=o('

Banner

欢迎来到 ClassIsland 开发文档,这里包含了进行 ClassIsland 开发的技术细节。“无限可能,因你而在”——ClassIsland 及其相关生态正是由无数像您这样的开发者共同构建起来的,欢迎您以您喜欢的形式为 ClassIsland 本体或生态做出贡献!

ClassIsland 有些代码编写时间较早,开发者彼时对 C# 开发还不是很熟悉。如果看到了一些奇奇怪怪的代码,还请多多包容。

ClassIsland 使用了如下技术栈。在参与 ClassIsland 开发或为 ClassIsland 开发插件等配套工具时,您最好对以下内容有基本的了解。

在开发时您可以参考以下的资源:

如果您打算向 ClassIsland 做出代码贡献,请务必先阅读 贡献指南

我可以做什么

您可以通过以下方法来不同程度地扩展 ClassIsland 的功能。

',10)),n("ul",null,[n("li",null,[n("strong",null,[s(e,{to:"/dev/ipc/"},{default:a(()=>l[0]||(l[0]=[t("与 ClassIsland 跨进程联动")])),_:1}),l[1]||(l[1]=t(":"))]),l[2]||(l[2]=t(" 您可以通过跨进程通信技术,从其它进程访问 ClassIsland 的数据(如当前课表、当前上课科目等等),以及调用 ClassIsland 的功能。"))]),n("li",null,[n("strong",null,[s(e,{to:"/dev/plugins/"},{default:a(()=>l[3]||(l[3]=[t("开发 ClassIsland 插件")])),_:1}),l[4]||(l[4]=t(":"))]),l[5]||(l[5]=t(" 您可以通过插件,轻松地扩展 ClassIsland 的功能,比如添加自定义组件、显示自定义提醒等等。同时也可以与跨进程联动配合,从其他进程调用插件功能。"))]),l[6]||(l[6]=n("li",null,[n("strong",null,"修改 ClassIsland 本体:"),t(" 如果上面的方法不能满足您的需求,您也可以通过修改 ClassIsland 本体来实现更高程度的自定义。您也可以向 ClassIsland 代码仓库发起 PR,将您的更改合并到主分支上。")],-1))]),l[37]||(l[37]=n("h2",{id:"开始",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#开始"},[n("span",null,"开始")])],-1)),n("ul",null,[n("li",null,[s(e,{to:"/dev/get-started/development.html"},{default:a(()=>l[7]||(l[7]=[t("配置 ClassIsland "),n("strong",null,"本体",-1),t("开发环境")])),_:1})]),n("li",null,[s(e,{to:"/dev/get-started/development-plugins.html"},{default:a(()=>l[8]||(l[8]=[t("配置 ClassIsland "),n("strong",null,"插件",-1),t("开发环境")])),_:1})]),n("li",null,[s(e,{to:"/dev/basics/"},{default:a(()=>l[9]||(l[9]=[t("了解有关 ClassIsland 开发的基础知识")])),_:1})])]),l[38]||(l[38]=o('

调试菜单

注意!

调试菜单中的功能仅供测试使用,如果您不知道您在做什么,请不要随意使用!

【应用设置】→【关于】中连续点击应用图标 10 次,即可开启调试笔刷界面。

目录

本部分的文档还在编写中,一些地方还没完工。

本章节包含以下内容:

',6)),n("ul",null,[n("li",null,[l[12]||(l[12]=n("strong",null,"开始",-1)),n("ul",null,[n("li",null,[s(e,{to:"/dev/get-started/development.html"},{default:a(()=>l[10]||(l[10]=[t("配置 ClassIsland "),n("strong",null,"本体",-1),t("开发环境")])),_:1})]),n("li",null,[s(e,{to:"/dev/get-started/development-plugins.html"},{default:a(()=>l[11]||(l[11]=[t("配置 ClassIsland "),n("strong",null,"插件",-1),t("开发环境")])),_:1})])])]),n("li",null,[s(e,{to:"/dev/basics/"},{default:a(()=>l[13]||(l[13]=[n("strong",null,"基础知识",-1)])),_:1}),n("ul",null,[n("li",null,[s(e,{to:"/dev/basics/dependency-injection.html"},{default:a(()=>l[14]||(l[14]=[t("依赖注入")])),_:1})]),n("li",null,[s(e,{to:"/dev/basics/logging.html"},{default:a(()=>l[15]||(l[15]=[t("记录日志")])),_:1})])])]),n("li",null,[s(e,{to:"/dev/plugins/"},{default:a(()=>l[16]||(l[16]=[n("strong",null,"插件",-1)])),_:1}),n("ul",null,[n("li",null,[s(e,{to:"/dev/plugins/create-project.html"},{default:a(()=>l[17]||(l[17]=[t("开始编写插件")])),_:1})]),n("li",null,[s(e,{to:"/dev/plugins/basics.html"},{default:a(()=>l[18]||(l[18]=[t("插件基础知识")])),_:1})]),n("li",null,[s(e,{to:"/dev/plugins/plugin-base.html"},{default:a(()=>l[19]||(l[19]=[t("插件入口类")])),_:1})]),n("li",null,[s(e,{to:"/dev/plugins/dependency.html"},{default:a(()=>l[20]||(l[20]=[t("插件依赖")])),_:1})]),n("li",null,[s(e,{to:"/dev/plugins/publishing.html"},{default:a(()=>l[21]||(l[21]=[t("发布插件")])),_:1})])])]),n("li",null,[s(e,{to:"/dev/ui/"},{default:a(()=>l[22]||(l[22]=[n("strong",null,"UI",-1)])),_:1}),n("ul",null,[n("li",null,[s(e,{to:"/dev/ui/iconexpr.html"},{default:a(()=>l[23]||(l[23]=[t("图标表达式")])),_:1})]),l[24]||(l[24]=n("li",null,"内置控件",-1))])]),n("li",null,[s(e,{to:"/dev/events.html"},{default:a(()=>l[25]||(l[25]=[t("事件")])),_:1})]),n("li",null,[s(e,{to:"/dev/uri-navigation.html"},{default:a(()=>l[26]||(l[26]=[t("Uri 导航")])),_:1})]),n("li",null,[s(e,{to:"/dev/components.html"},{default:a(()=>l[27]||(l[27]=[t("组件")])),_:1})]),n("li",null,[s(e,{to:"/dev/notifications/"},{default:a(()=>l[28]||(l[28]=[t("提醒")])),_:1})]),l[33]||(l[33]=n("li",null,"扩展菜单",-1)),n("li",null,[s(e,{to:"/dev/settings-page.html"},{default:a(()=>l[29]||(l[29]=[t("设置页面")])),_:1})]),l[34]||(l[34]=n("li",null,[t("档案 "),n("ul",null,[n("li",null,"档案附加设置")])],-1)),n("li",null,[s(e,{to:"/dev/ipc/"},{default:a(()=>l[30]||(l[30]=[n("strong",null,"跨进程通信",-1)])),_:1}),n("ul",null,[n("li",null,[s(e,{to:"/dev/ipc/ipc.html"},{default:a(()=>l[31]||(l[31]=[t("使用 IPC")])),_:1})]),n("li",null,[s(e,{to:"/dev/ipc/reference.html"},{default:a(()=>l[32]||(l[32]=[t("IPC 参考")])),_:1})])])]),l[35]||(l[35]=n("li",null,[n("a",{href:"https://api.docs.classisland.tech/",target:"_blank",rel:"noopener noreferrer"},"API 参考")],-1))])])}const v=r(m,[["render",g]]),I=JSON.parse('{"path":"/dev/","title":"开发文档","lang":"zh-CN","frontmatter":{"title":"开发文档","index":false,"icon":"laptop-code","category":["开发指南"],"description":"Banner 欢迎来到 ClassIsland 开发文档,这里包含了进行 ClassIsland 开发的技术细节。“无限可能,因你而在”——ClassIsland 及其相关生态正是由无数像您这样的开发者共同构建起来的,欢迎您以您喜欢的形式为 ClassIsland 本体或生态做出贡献! ClassIsland 有些代码编写时间较早,开发者彼时对 C# ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"开发文档\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-24T15:13:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ClassIsland 社区\\",\\"url\\":\\"https://classisland.tech\\"}]}"],["meta",{"property":"og:url","content":"https://docs.classisland.tech/dev/"}],["meta",{"property":"og:site_name","content":"ClassIsland 文档"}],["meta",{"property":"og:title","content":"开发文档"}],["meta",{"property":"og:description","content":"Banner 欢迎来到 ClassIsland 开发文档,这里包含了进行 ClassIsland 开发的技术细节。“无限可能,因你而在”——ClassIsland 及其相关生态正是由无数像您这样的开发者共同构建起来的,欢迎您以您喜欢的形式为 ClassIsland 本体或生态做出贡献! ClassIsland 有些代码编写时间较早,开发者彼时对 C# ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2026-01-24T15:13:17.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-24T15:13:17.000Z"}],["link",{"rel":"alternate","hreflang":"en-us","href":"https://docs.classisland.tech/en-us/dev/"}]]},"git":{"createdTime":1724916346000,"updatedTime":1769267597000,"contributors":[{"name":"hello8693","username":"hello8693","email":"1320998105@qq.com","commits":1,"url":"https://github.com/hello8693"},{"name":"WRC","username":"WRC","email":"hello_wrc@outlook.com","commits":7,"url":"https://github.com/WRC"},{"name":"叮咚叮咚","username":"","email":"xiaodong1919810@163.com","commits":1}]},"readingTime":{"minutes":2.96,"words":888},"filePathRelative":"dev/README.md","autoDesc":true}');export{v as comp,I as data};