此处作为 eide 的公共远程模板仓库,使用 eide 的 从远程模板创建项目
功能时,将在此仓库中获取可用的项目模板
-
克隆仓库:在 github 上 fork 仓库到自己的账号中,并在本地使用
git clone
克隆 fork 后的仓库 -
生成模板:在 vscode 上打开你想要分享的 eide 项目,使用 导出 eide 项目模板 功能,将在项目根目录下生成一个
.ept
文件 -
检查模板:使用 eide 的
从本地模板创建项目
功能,选择上一步生成的模板文件,新建一个工程,检查工程是否可用 -
添加文件:将
ept
文件复制到本地仓库中 -
添加索引:修改索引文件:
index.json
,将模板的信息(文件名,分类,版本号,可读名称,作者名称...)添加到其中;可参考该 提交记录 -
推送仓库:将更改后的本地仓库推送至 github 远程仓库中,然后创建
pull request
,请求合并至主仓库,合并完成之后即可在 vscode 上直接使用
-
不清楚如何修改/添加模板的,可以参考该 提交记录
-
设置模板分类时,尽量为模板选择已存在的分类,若要新建分类,应该使用更具代表性的名称,而不是只是用
芯片系列名
,因为插件会根据这个分类生成树状列表方便查看和检索,如果你使用的分类粒度过细,反而不会便于快速选择 -
在提交
pull-request
之前,可以修改插件设置:EIDE.Repository.Template.Url
将模板仓库临时修改为你自己的仓库分支,然后新建项目进行测试,一切 ok 后,再pull-request
新增加的模板可以参考;旧的模板暂时保持原样吧
模板的文件夹结构要足够简单清晰,格式统一
对于源文件的存放,可以参考如下文件夹结构:
---
|
+--- examples 用于存放例程源码
|
+--- gpio
|
+--- main.c
|
+--- adc
|
+--- timer
|
+--- ...
|
+--- library 用于存放源码库,比如 外设库,dsp算法库,github上的开源库 等等
|
+--- STM32F10x_StdPeriph_Driver
|
+--- inc
|
+--- ...
|
+--- lwrb-v3.2.0
|
+--- ...
|
+--- include 用于存放用户的 标头文件(.h, .hpp)等
|
+--- source 用于存放用户的 源文件
|
+--- main.c
|
+--- ...
|
+--- tools 用于存放一些工具类的程序,配置文件等,比如自定义的 烧录脚本,命令行烧录软件 等
| 这个文件夹也是EIDE在搜索一些配置文件时的默认搜索目录,比如:如果你有一些手写的 openocd cfg 文件,你可以存放在这个目录下
.....
|
+--- ...其他文件夹1...
|
+--- ...其他文件夹2...
模板索引文件 index.json 存放了所有的模板的信息,该文件是一个 TemplateIndexDef
类型的 json 对象,定义如下:
// 模板索引
export interface TemplateIndexDef {
category_map: { [name: string]: CategoryInfo };
template_list: TemplateInfo[];
}
// 模板分类
export interface CategoryInfo {
display_name: string; // 用于显示的名称
description: string; // 简短的描述
}
// 模板信息
export interface TemplateInfo {
file_name: string; // 模板文件名
display_name: string; // 用于显示的名称
category: string[]; // 模板所属的分类
version: string; // 版本
author: string | undefined; // 作者名称
}