Skip to content

dddssw/speed-up

Repository files navigation

Hi, 这是一个有趣的小东西, 也是我的第一个技术产品, 或者它还有更广阔的未来🥰

插件市场可以搜到(speed up),

example.mp4

概述

解析ast获取导出信息是通过单独封装npm包,所以ast所以相关操作函数都是放在这个包里

导出一般是默认导出,具名导出.但是具名导出还有声明与导出不同位置的情况

🚀 已完成的功能

  • ✅ 侧边栏展示 hooks 和 utils,支持解析js/ts
  • ✅ 基于配置, 默认解析src下hooks/utils文件夹,可通过setting修改解析路径
  • ✅ 点击文件,跳转到对应页面
  • ✅ 点击导出的内容,自动跳转到对应位置
  • ✅ 点击按钮自动导入到当前文件
  • ✅ 悬浮显示注释
  • ✅ 构建在云端共享的hooks, utils,团队层面的共享 (云端)
  • ✅ 一些交互优化

📅 开发计划

🚀 正在进行的任务

  • 📦 实现拖拽能直接插入到对应位置

    • 如果之前已经导入了这个文件做一个自动合并
    • 需要区分默认导出还是按需导出,默认导出没有给具体的名字使用文件名
    • 检查文件是否有重复导入一个文件,也就是合并
    • 性能分析,为了标准通过使用转成ast,再修改ast转回源代码,这里可能会有性能瓶颈,为了更高效使用swc的tranform直接对源代码修改,因此下一步的学习方向是rust
  • 📦 实现文件操作的功能

    • 时间:2025/3/26 ~ now
    • 状态:暂时终止

    陷阱

    • 🕷️ 新增文件在treeview上官方没有给出暴露的接口

🚀 新增功能计划

  • 📦 拖放功能
  • 📦 实现频率统计:显示每个hook或utils在项目中的使用频率
  • 📦 文件/文件夹添加注释
  • 📦 webview里的内容直接导入项目文件

🐛 Bug 修复

  • 🕷️ 请先打开任意一个文件,否则解析报错 ✅
  • 🕷️ 暂不支持class的语法,还有一些边缘场景可能未涉及

📈 优化

  • 🚀 使用 SWC 优化性能(技术瓶颈,转化过程会丢掉注释), 或者转向OXC
  • ✨ 优化用户体验

📅 历史开发计划

  • 📦 hook导出内容可选

    • 时间:2025/4/1 ~ 2025/4/4
    • 状态:已完成 hook的规范一般都一个文件默认导出一个hook函数,函数会return一些数据供外部使用,当然也可以不需要return任何东西

    如果有return的话,可以勾选哪些需要,然后一键导入就只会导入勾选的内容了

  • 📦 文件修改 文件保存时按需刷新树节点需要考虑影响之前的缓存功能(难/阻塞)

  • 📦 监听对应hooks,utils文件管理器变化,实时按需更新树视图

    • 时间:2025/3/24 ~ 2025/4/1
    • 状态:已完成 vscode bug(microsoft/vscode#245035) 复杂问题梳理, 缓存+持久化+按需刷新节点
  • 缓存的实现

    • 解析大致流程:如果element为空代表构造根节点,否则如果element.type为目录,则解析目录之下的文件列表,返回文件列表.如果element.returnData为真,直接返回element.returnData.其他都是进行文件解析,对于hook,returnData已经保存在exportinfo里,返回exportinfo
    • 将第一次解析数据放在children属性下,对于hook return的数据不需要保存,因为已经存放在returnData里
  • 📦 如果树视图没有任何内容,引导用户进行操作

    • 时间:2025/3/26 ~ 2025/3/26
    • 状态:已完成
  • 📦 进行数据缓存,减低下次启动耗时

    • 时间:2025/3/24 ~ 2025/3/26
    • 状态:已完成

    陷阱

    • 🕷️ 在工作区进行持久化缓存,会丢弃不能被序列化(stringify)的内容,也就是缓存内容不能直接使用
    • 🕷️ 不能通过引用的方式修改持久化缓存的数据,需要重新update数据
  • 📦 构建在云端共享的hooks, utils,团队层面的共享 (云端)

    • 时间:2025/3/18 ~ 2025/3/24
    • 状态:已完成
    1. 设计并实现个人的交互功能
    2. 设计并实现云端的交互功能
    3. 响应式瀑布流
    4. Hooks区分Vue/React

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published