Skip to content
导航栏

使用VSCODE编辑器的插件快速开发Yao模型

AI 时代已经到来~,yao通过这种元数据配置编程理念恰好适合 ChatGPT 来搞。之前有写过另外一笔记使用ChatGPT开发Yao应用。使用上还是不太方便,需要手动复制大段的文字到聊天框。处理后再还需要复制一次。借助vscode编辑器的ChatGPT插件,开发起来会更加方便。

在起飞之前首先需要作些准备工作:

  • 准备好你的网络,需要能访问OPENAI网站的接口,这个是首要条件。
  • 0.10.3版本的Yao应用程序。
  • 宇宙最强的的编辑器Vscode

Yao 开发环境准备

安装0.10.3开发版本的Yao

在以下地址下载开发版本 0.10.3 开发版本,根据自己的电脑 OS,打开对应的 URL,找到一个最新的 release

Linux:

https://github.com/YaoApp/yao/actions/workflows/release-linux.yml

示例:

https://github.com/YaoApp/yao/actions/runs/4321507316

MacOS:

https://github.com/YaoApp/yao/actions/workflows/release-macos.yml

示例:

https://github.com/YaoApp/yao/actions/runs/4321507798

程序的安装比较简单,把Yao执行程序解压后放到任何可以执行的目录即可,比如Linux操作系统中的/usr/bin/目录。

使用YAO-init-0.10.3项目模板

这里提供了一个YAO应用程序模板。这个模板特别针对0.10.3进行了优化。自带了vscode智能提示与studio初始化脚本。

sh
git clone --depth 1 https://github.com/wwsheng009/yao-init-0.10.3.git my-yao-app

cd my-yao-app

yao start

在浏览器上打开网址http://127.0.0.1:5099进行数据库连接配置。

vscode插件配置

vscode市场中与 ChatGPT 有关的插件有很多,选一款支持能支持自动导入选中代码的插件。这样就不需要复制代码了。

  • vscode市场里找一个支持ChatGPT的插件。这里是我使用的一款ChatGPT - Genie AI

  • 插件一般都需要配置openai key,根据提示在设置里设置key

  • vscode打开项目my-yao-app,并打开项目自带的示例模型文件/my-yao-app/models/pet.mod.json

  • 选中模型文件中的所有内容,并按快捷键F1打开vscode的命令提示框。输入提示词use the selected code as dsl template,create new model hospital,without any explanation.AI 会使用你选中的代码作为模型,生成新的模型。当然你可以根据你的需求调整提示词。

  • 生成的代码会在编辑器的右边,复制生成的内容创建新的模型定义文件。需要把文件保存到目录models中,并且后缀名需要是mod.json。比如这里保存文件为:/my-yao-app/models/hospital.mod.json.

  • 生成的文件基本上是可以满足要求的,有些字段显示黄色,说明这个字段不符合YaoDSL语法。删除或是忽略即可。yao-init项目已经配置好了编辑器vscode智能提示

  • 除了生成一个完整的模型,你还可以让ChatGPT参考现有的字段定义生成新的字段,这需要发挥你的聪明才智了。

Yao 应用执行。

最后执行以下命令更新数据数据库

sh
yao migrate

使用Studio脚本生成table/form定义文件。Studio 脚本的更多使用方法参考:自动生成 table_form 定义文件

sh
yao studio run init.CreateTableAndForm hospital

成功后的提示

sh
Studio Run: init.CreateTableAndForm
args[0]: hospital
"已生成最小化配置Table:"
"tables/hospital.tab.json"
"需要生成全配置Table,请再执行一次命令"
"已生成最小化配置Form:"
"forms/hospital.form.json"
"需要生成全配置Form,请再执行一次"
--------------------------------------
init.CreateTableAndForm Response
--------------------------------------
null
--------------------------------------
✨DONE✨

如果没有启动 yao,现在执行命令

sh
yao start

浏览器访问:http://127.0.0.1:5099/admin/login/admin

用户名: xiang@iqka.com 密码: A123456p+

登录后你就能访问以下地址:

http://http://127.0.0.1:5099/admin/x/Table/hospital

恭喜你成功创建了一个新的CURD程序