Laf Assistant:云开发从未如此爽快!

news2024/9/23 13:10:27

原文链接:https://forum.laf.run/d/67

工欲善其事,必先利其器。在编写代码时,IDE 也是我们不可或缺的。它可以让我们更高效地完成代码编写,提高开发效率。因此,IDE 是我们编写代码中最亲密的伙伴之一。

虽然 Laf 云开发有简洁的 Web IDE,只要能打开浏览器就可以随处编辑云函数。

但很多人还是希望能在 IDE 中编写云函数代码。

得益于 laf-cli 的开发和 API 的开放,Laf 也对本地代码编辑器没有任何强制性的要求,也就意味着 Laf 可以直接使用 VS Code 或者任何编辑器去完成云函数的编写和调试,以及发布和更新。

laf-cli 是一个 npm 模块,可以通过命令行去完成 Laf 云开发的云函数管理、云存储管理等等。借助命令行,我编写了一个 VS Code 插件:laf assistant

Laf 直接使用 VS Code 的体验并不那么完美

VS Code 是一款免费、开源、跨平台的代码编辑器,由 Microsoft 开发和维护,插件丰富,功能强大。并且很重要的一个原因是,我自己习惯用 VS Code。也有相当多的开发者也跟我一样习惯使用 VS Code。

laf assistant 出来之前,我尝试用了一段时间的 Laf-cli 模块。每修改一段代码,需要调试的时候,需要输入比较复杂的命令。

比如的云函数名为 :BatchTestDB ,那么我需要在命令行输入:laf func exec BatchTestDB -l 9

切换云函数,需要手动改命令。当如果出现大量的 log,体验是这样的。

另外一个比较麻烦的问题是,在终端里面输出的内容是不能编辑、也不能折叠代码的。对于输出比较大的 JSON 数据时,查看日志也是非常痛苦的一件事。同时经过一段时间的调试,终端的内容也会越来越多,看得眼花缭乱。

到了发布云函数的时候,也是手动修改命令行才可以完成。

而 Laf 云开发的 Web IDE 在云函数的调试、发布和管理上明显会比这种方式更加的方便和简单。为了让优秀的 Web IDE 的优势完美的和本地开发相结合。我动了开发 VS Code 插件的想法。

Laf assistant 的代码编写体验

在云函数的编辑框内,点击右键,即可发布、下载或者运行云函数,结合 VS Code 自带的改键功能,比如我自己把运行云函数改键成了 ⌘+F1,每次修改完云函数,保存云函数后,按快捷键 ⌘+F1 即可运行云函数。

我把日志输出到了一个全新的文本中,可以随意的编辑和折叠,用起来更加方便了。如果需要保存也可以直接保存到一个文件中,当然也可以关闭这个编辑器丢掉这个日志内容。

代码版本管理和协同

Laf 云开发的 Web IDE 没有代码系统和版本管理。Web IDE 并不会保存所有的修改版本,只是存在了浏览器的本地缓存中,也就意味着如果不小心清理了缓存或者切换浏览器,Web IDE 编辑器内的草稿可能就消失了。同时如果开发的项目有多人协同的需求也会相当麻烦。

在我看来,Web IDE 适合简单的云函数的快速开发和上线发布,以及临时的代码修改。如果遇到复杂的代码情况,就很难跟 VS Code 的本地开发体验相提并论来了。

同时 laf assistant 还可以让前端代码和 Laf 云函数代码在一个项目中管理,实现一个项目管理前后端的全部代码。而且 Web IDE 也无法搜索代码,而如果前后端的代码都在一个项目中,就可以很方便的全局搜索前后端中的代码。

结合 Git 的使用,很方便的就可以实现代码的版本管理。

另外如果需要协同开发,laf assistant 也支持针对不同电脑的同一项目去单独配置 Laf API 地址和 Laf 应用 Appid,每个开发人员就可以在自己的 Laf 应用里面去调试开发,代码上线发布的时候,可以发布到正式应用。避免了测试数据的污染。

laf assistant 的后续升级计划

1、AI 加持

目前接口已经基本实现,通过一段文字描述即可写出直接可用或简单修改即可用的云函数代码,并且如果遇到某个 JS 不会写,某个数据库语法不会写,都可以通过一句话去完成

后续在 VS Code 中,仅需要点点鼠标或者快捷键即可通过 AI 去自动完成云函数代码。

2、增加云存储的管理

本地编译的前端代码,可以一键托管到 Laf 的云存储。

3、云函数会增加更多的调试模式

自定义调试的参数。后续还会加上实时日志监听,方便在前端调试时,去查看日志。

4、独立管理面板

点击侧边栏 Laf 的图标,Laf 云开发相关的内容都会集中显示在这里。

5、更多细节优化

所有的开发者也可以给我提优化意见,让 laf-assistant 更加好用,让云开发更加爽快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/505455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于并发编程与线程安全的思考与实践 | 京东云技术团队

作者:京东健康 张娜 一、并发编程的意义与挑战 并发编程的意义是充分的利用处理器的每一个核,以达到最高的处理性能,可以让程序运行的更快。而处理器也为了提高计算速率,作出了一系列优化,比如: 1、硬件…

MS8257N跨阻放大器pin对pin兼容OPA857

MS8257N 是一颗宽带、快速过载恢复时间、快速建立时间、跨阻增益可调、超低噪声的跨阻放大器,主要用于光电监测和各种高性能的光电系统。可pin对pin兼容OPA857。快速过载恢复特性和内部输入保护电路可以让信号从过载传输中快速恢复正常。两档可选跨阻增益保证了极高…

MySQL基础(十八)MySQL8其它新特性

1. MySQL8新特性概述 MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是MySQL Optimizer优化器进行了改进。不仅在速度上得…

【Redis】概述与安装

概述 Redis 是什么? Redis(Remote Dictionary Server ),即远程字典服务; 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 Redis 会周期性的把…

深入理解什么是 dp(dip)

文章目录 dp 的计算公式dp 计算的例子dp 的来历究竟什么是 dp dp 的计算公式 dp 是安卓 UI 开发中最常见的单位之一,它有一个别名 dip。dp 与 dip 是同一个意思。dp 指的是什么呢?官方的解释是 device independent pixels(设备独立像素&#…

Golang 函数调用机制

在真实的内存里面是没有test和main栈区的,这里只是为了区分。这两个数据空间是独立的,但是同时都在栈区里面。 这里可以清楚的看到,虽然两个名字都叫n1,但是其实上都是独立的。就好比不同的教师里面坐着名字相同的人。 注意test…

软考A计划-重点考点-专题四(多媒体相关)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

Mongodb 在工业场景下的数字解决方案

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

数字经济下的企业数字化转型

上周,由国家网信办、国家发改委、科技部、工信部、国务院国资委、福建省人民政府共同主办的第六届数字中国建设峰会在福州隆重开幕。 本届峰会以“加快数字中国建设,推进中国式现代化”为主题,集中展示数字中国建设最新成果和优秀实践案例&a…

uniapp实现微信小程序横屏适配问题demo效果(整理)

使用VMIN进行布局 先了解css3的两个属性vmax和vmin vmax 相对于视口的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vmax vmin 相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vmin竖屏布局的时候,750rpx就是竖屏布局屏幕的宽度…

[前端]深浅拷贝

一、回顾变量类型 基础类型 boolean(bool) number string null undefined 引用类型 object ​ function ​ array 基本类型与引用类型的存储 基本类型一般存储在 栈 (栈小) 栈一旦确认 大小就固定 可能会造成溢出栈一般是先进后出用于存储…

数据库sql语句练习(二)

例题&#xff1a; ●检索出生年份比杜甫早的诗人 select name from poets where birth <( select birth from poets where name 杜甫’) 重点&#xff1a;ALL&#xff0c;SOME,ANY(对于any&#xff0c;有些系统用some) 使用all或者any时。必须同时使用比较运算符 注&…

Linux配置sftp用户访问指定目录

一、环境 开发环境&#xff1a;Win 10 -- 64位 服务环境&#xff1a;centos7 SSH&#xff1a;OpenSSH_7.4p1 二、新建sftp用户&#xff1a; 需要root权限执行-------------------------- 1.新建一个用户组 为了方便后面添加用户 groupadd sftp2.添加用户 useradd -g sf…

【Python】【进阶篇】27、Django url标签详解

目录 27、Django url标签详解1. url标签基本使用2. 给定参数的动态url 27、Django url标签详解 在 Django 的模板语言中除了我们前面章节介绍过的 if 标签和 for 标签之外&#xff0c;还有许多我们时常用到标签&#xff0c;比如 url 标签。 1. url标签基本使用 Django 的模板…

Xcode 使用 Instruments 无法找到代码中耗时挂起操作的解决

问题现象 Instruments 是一套非常有用的代码分析和调试利器,我们经常用它来查找 App 中的性能瓶颈。 不过,有时 Instruments 却无法捕获到系统明显挂起或长耗时的方法,这是怎么回事呢? 如上图所示,App 运行中系统(Severe Hang)被挂起长达 3 秒钟,但在 Instruments 竟…

tmux一个终端复用器(terminal multiplexer)

tmux 安装 使用包管理工具 # Ubuntu 或 Debian $ sudo apt-get install tmux# CentOS 或 Fedora $ sudo yum install tmux# Mac $ brew install tmuxsession 会话管理 1. 新建会话 第一个启动的 Tmux 窗口&#xff0c;编号是0&#xff0c;第二个窗口的编号是1&#xff0c;以…

[无线统计设计与国际标准]【chapter 1】[参考信号设计]【DMRS】

前言&#xff1a; 参考信号相关的所有内容都在38.211 中有介绍。 DMRS是用于信道估计&#xff0c;服务于UE信 道解调的。基站将DMRS穿插到各种信道的时频资源里面去&#xff0c;伴随着数据一起发送给UE&#xff1b; 对UE来说&#xff0c;DMRS是一个确…

Java【多线程基础6】定时器 + 模拟实现Timer

文章目录 前言一、定时器1, 什么是定时器2, 如何使用定时器 二、模拟实现定时器1, 初步实现2, 问题改善 总结 前言 &#x1f4d5;各位读者好, 我是小陈, 这是我的个人主页 &#x1f4d7;小陈还在持续努力学习编程, 努力通过博客输出所学知识 &#x1f4d8;如果本篇对你有帮助, …

【设计模式】责任链模式的介绍及其应用

责任链的介绍 责任链模式是一种对象的行为模式。在责任链模式里&#xff0c;很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递&#xff0c;直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求&a…

一款非常经典的蓝牙多媒体芯片​RDA5850

RDA5850是一款高度集成的蓝牙无线电收发器和基带处理器&#xff0c;基于低成本的32位XCPU RISC核心&#xff08;其实虽然手册上说是RISC核心&#xff0c;但我怎么感觉这款芯片有点MIPS的影子 &#xff09;具有多媒体能力。此芯片有着丰富的外设&#xff0c;而大多数的功能都是…