用 Tauri 写一个 micro-vscode
suiw9 2025-01-20 16:20 23 浏览 0 评论
前言
Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架,同时可以在必要时使用 Rust、Swift 和 Kotlin 等语言编写后端逻辑。
- 对于开发者而言,Tauri 有三个主要优势:
- 构建应用所需的可靠基础
- 使用系统原生 webview(网页视图)带来的更小打包体积
- 使用任何前端技术和多种语言绑定带来的灵活性
详情可到官方文档What is Tauri查看。
Tauri 的 2.0 版本支持了移动端,如今 Tauri 已经发布到了tauri-v2.0.0-beta.8版本。Tauri 2.0 不仅仅是移动。以下是将包含的一些功能:
- 强大的插件:许多 Tauri API 已转向使用 Tauri 插件系统。这使我们能够使 Tauri 代码更加模块化、更易于维护,但也使我们能够使插件系统更强大,以便开发人员构建自己的插件。
- 插件的 Swift 和 Kotlin 绑定:现在您可以在 Swift 和 Kotlin 中编写特定于平台的代码。Tauri 从 1.0 版本开始就在 Rust 和 JavaScript 代码之间架起了一座桥梁。借助 Tauri 2.0,插件开发人员将能够使用 Swift 和 Kotlin 编写代码,以便与他们正在开发的系统更紧密地集成。
- 支持 iOS 和 Android:您将能够构建 Tauri 应用程序并在 iOS 和 Android 上运行它们。
详情可以到官方Tauri 2.0 路线图查看。
Tauri demo
micro-vscode项目地址 博客原文地址
创建项目
详情参考官方文档Create a Project
bash复制代码pnpm create tauri-app --beta
cd my-tauri-app
npm install
npm run tauri dev
目录结构
如下图,其实和普通的 vite 项目没什么区别,就是多了一个 src-tauri 的文件夹,存放服务端的代码。
客户端
git clone
git commit
使用 github token 提交,需要在 user 中设置
git pull and push
设置 git config 的 username 和 email
- 设置 username
- 设置 email
- 设置 gitHub token
查看项目
编辑文件
使用 Cmd + S 保存
服务端
服务端使用 rust 写的,其实我几乎不懂 rust,这个项目的 rust 代码都是 chatgpt 帮我写的
TodoList
- 未实现
- 读取本地文件系统
- 新建文件/文件夹
- 搜索文件内容
- 通过文件名搜索文件
- 已实现
- 实现git的基本操作,类似vscode的git工具
- git config 设置user/email和github token
- git add 添加文件
- git commit 提交
- git pull 拉取更新
- git push 推送更新,使用github token提交
- discard changes 撤销(单/所有)文件修改
- git log 查看所有commit
- git show commit 查看提交的具体修改内容
- 文件夹目录结构
- 显示目录树
- 文件/文件夹图标
- 使用vscode-icons图标(未全部移植)
- 实现打开/关闭文件夹
- 显示文件切换Tab
- 是否编辑图标提示
- 关闭文件
- 文件编辑器
- 使用monaco editor,具有vscode的基本功能
- 文件编辑、保存(保存全部)功能
- 暂时只支持html/js/json/ts/vue的代码高亮
更新功能
git add/commit/pull/push
更新 git add/commit/pull/push 到git工具栏内部,添加 changes 文件list和 Staged Changes文件list,可以撤销 add 文件和撤销修改。
discard changes
更新git功能到工具栏,列举发生改变的文件,展示更改状态,打开改变文件和放弃修改。
撤销所有文件更改
git log
获取git提交日志
git show commit
点击日志查看修改文件,与git命令行查看内容一致,vscode的文件修改对比有点复杂,暂时未实现。
作者:shellingfordly 链接:https://juejin.cn/post/7342506460207136768
相关推荐
- Qt编程进阶(99):使用OpenGL绘制三维图形
-
一、Qt中的OpenGL支持...
- OpenGL基础图形编程(七)建模(opengl教程48讲)
-
七、OpenGL建模 OpenGL基本库提供了大量绘制各种类型图元的方法,辅助库也提供了不少描述复杂三维图形的函数。这一章主要介绍基本图元,如点、线、多边形,有了这些图元,就可以建立比较复杂的模型了...
- ffmpeg cv:Mat编码成H265数据流(ffmpeg编码mp4视频)
-
流程下面附一张使用FFmpeg编码视频的流程图。使用该流程,不仅可以编码H.264的视频,而且可以编码MPEG4/MPEG2/VP8等等各种...
- 986g超轻酷睿本,联想ThinkPad X1 Carbon 2025 Aura评测
-
今年3月份,联想首发了搭载Intel酷睿Ultra移动平台的ThinkPadX1CarbonGen12轻薄本,其续航表现令人惊喜。时隔9个月,IT之家收到了ThinkPad...
- 拆解五六年前的国产平板,这做工!
-
之前在论坛有幸运得被抽到奖,就是猎奇手机镜头,到手的时候玩了下鱼眼和广角微距,效果见图,用手机拍的那么就进入正题来说下拆鸡过程,外壳我就不拍出来了,免得打广告之嫌,拆出背面外壳就出现了一个裸板。第...
- 什么是闭合GOP和开放GOP?(闭合式和开放式区分)
-
翻译|Alex技术审校|李忠本文来自OTTVerse,作者为KrishnaRaoVijayanagar。...
- 拆解五六年前的国产平板(国产平板怎么拆开)
-
之前在论坛有幸运得被抽到奖,就是猎奇手机镜头,到手的时候玩了下鱼眼和广角微距,效果见图,用手机拍的那么就进入正题来说下拆鸡过程,外壳我就不拍出来了,免得打广告之嫌,拆出背面外壳就出现了一个裸板。第...
- 如何使用PSV播放MP4 视频自动退出怎么办
-
作者:iamwin来源:巴士论坛(点此进入)看到有很多同学在为psv无法播放视频而困扰,自己研究了下,发一个可以解决PSV出现播放视频播放到一半就跳出的问题。就是这个问题:首先,请大家先升级到版本≥1...
- 2023-03-21:音视频解混合(demuxer)为MP3和H264...
-
2023-03-21:音视频解混合(demuxer)为MP3和H264,用go语言编写。答案2023-03-21:...
- FFmpeg解码H264及swscale缩放详解
-
本文概要:...
- CasaOS保姆级喂饭教程!网心云OEC-Turbo安装CasaOS系统固件!
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:柒叶君...
- Firefox 33将整合思科开源编解码器OpenH264
-
思科去年在BSD许可证下开源了支持H.264编解码的OpenH264,Mozilla则在当时宣布将在Firefox中整合思科的二进制模块。现在,最新的FirefoxNightly(Firefox3...
- 为什么传输视频流的时候需要将YUV编码成H.264?
-
首先开始的时候我们借用一张雷神的图帮助大家理解一下从上图可以看出我们要做的,就是将像素层的YUV格式,编码出编码层的h264数据。...
- FFmpeg学习(1)开篇(ffmpeg开发教程)
-
FFmpeg学习(1)开篇...
- 喜欢看视频必须了解 AV1编码那点事
-
喜欢看视频的小伙伴大概都有点感觉,AV1这个不太熟悉的视频格式,最近闹出的事情可不少,比如视频网站为了节约带宽偷偷默认使用AV1格式,让电脑狂转;比如Intel专门给旧CPU发布了相关工具;再比如GP...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
tinymce 号称富文本编辑器世界第一,大家同意么?
-
- 最近发表
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)