lowcode 插件 已经迭代了差不多3年。作为我的生产力工具,平常一些不需要动脑的搬砖活基本上都是用 lowcode 去完成,比如管理脚手架,生成 CURD 页面,根据接口文档生成 TS 类型,生成 mock 等等。

借助 lowcode 的区块物料的功能,能快速生成 CURD 页面,但是前一段时间在做一些财务相关的需求时,变量的命名成了一个难题,一个列表十几二十个字段,而且大部分是那种看着中文都不知道是什么意思的抽象名词。做着做着我简单粗暴的使用 column1 ~ column20 去命名(反正一个个去翻译出来我也不认识)。

同事提了一嘴 "变量命名让 ChatGPT 去做",然后我就开始去研究 ChatGPT 命名:

看起来问题不大,之后就是在 lowcode 插件里接入 ChatGPT API 了。

开发过程中研究了几个 vscode 上下载量比较多的 ChatGPT 插件,基本上大同小异,都是在右键菜单里加了分析代码,重构代码,给代码写单元测试,给代码找缺陷的固定选项。假如我想要 ChatGPT 将我选中的代码的里的中文变量翻译成英文,需要每次复制粘贴代码,写 Prompt。

借助 lowcode 原有的代码片段的功能,几乎毫不费劲的就实现了预置 Prompt 的功能,如下:

目前 lowcode 已经支持接入 openai 官方的 api,也可以使用国内的一些收费的中转服务,下面介绍使用方法。

配置 ChatGPT

预置 Prompt 模板

使用 lowcode 原有代码片段功能,可以随意预置 Prompt,支持 EJS 模板语法,可快速创建分析代码、重构代码、代码添加注释等 Prompt。

拉到最底部,配置 chatGPT 字段:

commandPrompt 既右键菜单选择模板后发送的内容,支持 EJS 模板语法。

viewPrompt 为 代码片段或者区块物料可视化详情页点 Ask ChatGPT 按钮后发送的内容。

lowcode 代码生成功能结合 ChatGPT

配置生成 CURD 界面的时候,如果全部使用中文命名,根据模板会生成如下的代码:

import { reactive, ref } from "vue";

interface ITableListItem {
id: string;
成本中心编码: string;
成本中心名称: string;
账套编码: string;
银行核算编码: string;
订单号: string;
订单金额: string;
确收时间: string;
"劳务成本-不含税": string;
} interface IFormData {
成本中心编码?: string;
成本中心名称?: string;
账套编码?: string;
银行核算编码?: string;
订单号?: string;
订单金额?: string;
确收时间?: string;
"劳务成本-不含税"?: string;
} const defaultFormData: IFormData = {
成本中心编码: undefined,
成本中心名称: undefined,
账套编码: undefined,
银行核算编码: undefined,
订单号: undefined,
订单金额: undefined,
确收时间: undefined,
"劳务成本-不含税": undefined,
}; export const useModel = () => {
const filterForm = reactive<IFormData>({ ...defaultFormData }); const tableList = ref<(ITableListItem & { [propName: string]: unknown })[]>(
[],
); const pagination = reactive<{
page: number;
pageSize: number;
total: number;
}>({
page: 1,
pageSize: 10,
total: 0,
}); const loading = reactive<{ list: boolean }>({
list: false,
}); return {
filterForm,
tableList,
pagination,
loading,
};
}; export type Model = ReturnType<typeof useModel>;

ChatGPT 处理之后:

import { reactive, ref } from "vue";

interface ITableListItem {
id: string;
costCenterCode: string;
costCenterName: string;
accountingCode: string;
bankAccountingCode: string;
orderNumber: string;
orderAmount: string;
confirmedTime: string;
laborCostExcludingTax: string;
} interface IFormData {
costCenterCode?: string;
costCenterName?: string;
accountingCode?: string;
bankAccountingCode?: string;
orderNumber?: string;
orderAmount?: string;
confirmedTime?: string;
laborCostExcludingTax?: string;
} const defaultFormData: IFormData = {
costCenterCode: undefined,
costCenterName: undefined,
accountingCode: undefined,
bankAccountingCode: undefined,
orderNumber: undefined,
orderAmount: undefined,
confirmedTime: undefined,
laborCostExcludingTax: undefined,
}; export const useModel = () => {
const filterForm = reactive<IFormData>({ ...defaultFormData }); const tableList = ref<(ITableListItem & { [propName: string]: unknown })[]>(
[],
); const pagination = reactive<{
page: number;
pageSize: number;
total: number;
}>({
page: 1,
pageSize: 10,
total: 0,
}); const loading = reactive<{ list: boolean }>({
list: false,
}); return {
filterForm,
tableList,
pagination,
loading,
};
}; export type Model = ReturnType<typeof useModel>;

我在 vscode 插件里接入了 ChatGPT,解决了代码变量命名的难题的更多相关文章

  1. 极速编程体验:VsCode和webstorm插上ChatGPT

    ChatGPT走入了千家万户,而她最适合的用法之一就是进行编程辅助,特别是对一些常规开发,有比较好的引导作用. 很多主流编辑器都有相关的插件支持接入ChatGPT,而VsCode和webstorm是我 ...

  2. VSCODE 插件初探

    写在前面 分享一个vscode插件background(用于改变背景).点击直接跳到vscode插件开发步骤 做vscode的插件,很久就有这个想法了,但是一直因为这样,那样的事情耽误,放弃了N次.不 ...

  3. vscode 插件 与 技巧

    lit-html 下载量:3 万 在 JavaScript/TypeScript 的文件中,如果有使用到 HTML 标记,lit-html 提供语法高亮和相应的补全支持. Git History 下载 ...

  4. 个人向 - vscode插件记录

    现在用的编译器的是vscode,本身这个编译器很小,很多功能都没有,需要自己下载一些插件来完善功能,不知不觉下载的插件也有三十多个了,感觉需要记录一下. tips:1. vscode插件的安装位置:’ ...

  5. 自己使用过比较好用的VSCode插件

    C/C++  [ms-vscode.cpptolls]    智能推导,调试和代码浏览 C/C++ Clang Command Adapter [mitaki28.vscode-clang]   使用 ...

  6. VScode插件

    Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代码片段. ...

  7. 玩转VSCode插件之Remote-SSH

    前言 每当更换电脑就要从新搭建一遍开发环境... 每当拉完最新代码程序在本地跑不起来的时候就要检查服务器和开发电脑的环境... 每当服务器上出Bug的时候就想如果可以能够调试服务器代码多好啊.. 你是 ...

  8. 前端开发工具-VsCode插件【个人开发常用】

     前端开发工具-VsCode插件[个人开发常用] Atom One Dark Theme-主题 Chinese (Simplified) Language Pack for Visual Studio ...

  9. 安装 VsCode 插件安装以及配置

    安装vscode 官方网站 https://code.visualstudio.com/ 下载后 1.双击vscode.exe 2.选择 我接受  3.一路下一步,遇到方框就选4.点击  安装按钮 v ...

  10. 干货:用好这13款VSCode插件,工作效率提升10倍

    文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 大家好我是lemon, 马上进入我们今天的主题吧. 又 ...

随机推荐

  1. 涉及面试题:有几种方式可以实现存储功能,分别有什么优缺点?什么是 Service Worker ?

    cookie,localStorage,sessionStorage,indexDB 特性 cookie localStorage sessionStorage indexDB 数据生命周期 一般由服 ...

  2. ArcMap安装OSM路网数据编辑插件ArcGIS Editor for OSM的方法

      本文介绍在ArcGIS下属的ArcMap软件中,ArcGIS Editor for OpenStreetMap这一工具集插件的下载与安装的具体方法.   ArcGIS Editor for Ope ...

  3. Java泛型: 主要知识点总结

    Java泛型:主要知识点总结 1 泛型的好处 解决元素存储的安全性问题. 解决获取数据元素时,需要类型强制转换的问题. Java泛型可以保证如果程序在编译时没有发出警告,运行.时就不会产生ClassC ...

  4. stm32的学习笔记1

    一 目录结构管理 Libraries是放官方固件库的 MDK-ARM是放产生的文件的,工程存放的目录 USERS是放自己写的代码的 然后是一个解释文件README 在MDK-ARM目录里还要创建两个文 ...

  5. vue之数组的方法

    目录 简介 filter方法 简介 本文会把遇到的数组的方法慢慢补充进来 filter方法 filter()方法是一个过虑方法 以下面的为例:列表dataList会每次取一个值,把值给匿名函数,并执行 ...

  6. 正则表达式、datetime

    1.正则表达式就是用来匹配字符串的 2.常用\d表示一个数字,\w表示数字或者字母,'.'表示任意字符 3.如果要匹配边长的字符串,使用*表示任意个字符,+表示至少一个字符,?表示0个或者1个字符,{ ...

  7. 五月十五日java基础知识点

    1.匿名内部类适用于编写事件程序 interface Ishape{ void shape(); } class MyType{ public void outShape(Ishape s){//接口 ...

  8. smtp.office365.com 无法从传输连接中读取数据: net_io_connectionclosed

    这几天发送邮件时突然会报一个错 无法从传输连接中读取数据:net_io_connectionclosed. 因使用的是 smtp.office365.com 经过查询,发现了这个 Recently, ...

  9. 用Abp实现两步验证(Two-Factor Authentication,2FA)登录(二):Vue网页端开发

    @ 目录 发送验证码 登录 退出登录 界面控件 获取用户信息功能 项目地址 前端代码的框架采用vue.js + elementUI 这套较为简单的方式实现,以及typescript语法更方便阅读. 首 ...

  10. yolov5训练自己的数据集

    1.安装cuda 可以先看看自己的 显卡信息,支持哪个cuda版本 cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive 我的RTX30 ...