Skip to content

github0null/eide-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

说明

此处作为 eide 的公共远程模板仓库,使用 eide 的 从远程模板创建项目 功能时,将在此仓库中获取可用的项目模板

image

如何贡献项目模板?

  • 克隆仓库:在 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; // 作者名称
}