# smartide-templates **Repository Path**: smartide/smartide-templates ## Basic Information - **Project Name**: smartide-templates - **Description**: SmartIDE 项目模板库 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://smartide.cn - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 6 - **Created**: 2021-11-22 - **Last Updated**: 2024-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: IDE, IDEA, VSCode, 云原生, 开发工具 ## README ![](smartide-logo-small.png)

中文 | English

Be a Smart Developer, 开发从未如此简单

中国主页: https://smartide.cn 海外主页: https://smartide.dev



# SmartIDE 项目模板库 本代码库为SmartIDE的项目模板库,开发者可以使用 smartide new 命令一键创建项目脚手架,其脚手架代码的内容来自本库。 **说明**: SmartIDE提供跨平台能力,如无特殊说明,以下所列的所有功能默认均可以在Windows和MacOS上执行;对于Linux本地运行模式的支持很快也会发布。 ## 工作机制 当开发者使用 smartide new 命令时,SmartIDE会自动将本Git库的内容克隆到当前用户的~/.ide/目录下面,并读取其中的 template.json 文件获取所有可用的模板列表。 开发者可以打开本地计算机上的 终端应用(Windows使用PowerShell,MacOS使用Terminal) 使用以下命令获取这个列表 ```shell smartide new SmartIDE工作区模板 SdkName TypeName node _default node express node base java _default golang _default php _default 选项: -d, --debug 是否开启Debug模式,在该模式下将显示更多的日志信息 -h, --help 打印当前说明文字 -t, --type string 类型 ``` 开发者可以从以上列表中选择所需要的模板,通过以下命令一键创建开发环境 ```shell ## 创建空目录并进入此目录 ## 提示: 如果执行smartide new的目录不是空目录,smartide会给出警告提示,但是仍然允许用户继续进行操作。 mkdir new-app cd new-app ## 使用特性sdk的空模板创建工作区 smartide new ## 使用特定sdk的特定模板创建工作区 smartide new -t ``` ## 示例 请参考 [Node.Js快速启动手册](https://smartide.cn/zh/docs/quickstart/node/) 了解如何使用 smartide new 命令快速创建一个基于 node express 框架的应用程序开发工作区。 ## 如何添加你自己的模板 SmartIDE模板库为开源免费代码,欢迎任何人通过提交 Issue 或者发送 Pull Request 的方式扩充这个模板库。 ### 模板库目录结构 - 模板库采用2级目录结构 - 第一级代表sdk类型,比如: golang, java, node, php, python - 第二级为具体template的文件夹,第二级目录的名称可以随意指定,不能有空格和特殊字符,只能使用字符名称,暂时不支持中文目录名称 - template文件夹结构 - 一个template文件夹其实就是一个可工作的代码库 - 为了能够适配 SmartIDE,这里需要添加一个 .ide 目录并在其中创建1个文件 - .ide.yaml - 此文件为SmartIDE的配置文件,其内容描述了SmartIDE如何启动当前项目的开发环境 以下是一个典型的 node.js 的 .ide.yaml 文件的示例,其他sdk类型的配置文件请见具体sdk目录下的_default目录。 ```yaml version: smartide/v0.3 orchestrator: type: docker-compose version: 3 workspace: dev-container: service-name: smartide-template-node ports: tools-webide-port: 6800 tools-tools-ssh: 6822 ide-type: vscode volumes: git-config: true ssh-key: true services: smartide-template-node: image: registry.cn-hangzhou.aliyuncs.com/smartide/smartide-node:latest restart: always environment: ROOT_PASSWORD: root123 volumes: - .:/home/project expose: - 3000 ports: - 6822:22 - 6800:3000 - 3001:3001 networks: - smartide-network networks: smartide-network: external: true ``` ### 制作并测试自己的模板 1. 按照 [安装手册](https://smartide.cn/zh/docs/install/cli/) 安装 SmartIDE 命令行工具 2. 执行 smartide new 让 SmartIDE 完成当前模板的下载 3. 进入 ~/.ide/template 目录,执行 git checkout -b {分支名称} 创建一个新分支 ```shell git checkout -b {分支名称} ``` 4. 在所创建的分支中按照以上模板结构创建自己的模板文件夹 5. 更新 template.json 以便 SmartIDE 命令行工具可以识别你的模板 6. 使用 smartide new {SdkName} -t {TypeName} 测试模板是否可以正常工作 ```shell smartide new {SdkName} -t {TypeName} ``` ### 提交PR **提示**: 为了方便中国大陆地区的开发者提交贡献,我们提供了Gitee的代码库地址,此代码库与GitHub上的代码库自动保持同步。但是为了避免双向同步造成的代码冲突,所有提交到Gitee的PR内容会优先合并到GitHub主库,再同步回到Gitee。 1. 通过SmartIDE在 Github 或者 Gitee 的代码库创建你的fork 2. 在你本地的 ~/.ide/template 目录中运行以下命令添加指向自己的fork库的GitURL ```shell git remote add my-smartide <你的Fork库的GitURL> ``` 3. 推送你本地用于测试的分支到你的fork库,并通过你的fork库提交PR给SmartIDE主库 ```shell git push -u my-smartide {分支名称} ``` 开发者完成以上操作以后,SmartIDE产品团队会审核并测试你的代码,如果符合我们的质量标准,我们会接受PR并合并进入SmartIDE的模板库,这样全球的开发者就都可以使用你的新模板了。 ## 开源协议 & 版权说明 本代码库采用 GPL 3.0 开源协议,具体可以参考 [LICENSE](LICENSE) 文件了解更多细节。 本代码库属于 SmartIDE 产品的一部分,[英捷创软科技(北京)有限公司(简称:LEANSOFT)](https://leansoftx.com)拥有对于 SmartIDE 产品以及其所有相关代码的版权和最终解释权。