# 前言

# 项目简介

FS-Context一个名叫陨落基围虾的Furry觉得做拓展简直就是种折磨于是闲着没事研究的 一个易用的TypeScript上下文,用于开发通用于各种ScratchMod的积木拓展。提供了一些拓展开发中较常用的工具/脚手架。

本项目仅仅由于个人兴趣而完成,开发目的仅为探索,也许代码也有优化空间,欢迎各位大佬提出建议。

# 项目初衷

不管在什么平台下,开发拓展都非常的折磨,缺少类型提示/自动补全/代码不易读,以及不同平台对runtimevm的沙盒机制都有严重差异。通用拓展需要编写非常多的并不必要的冗余代码。

因此,本项目旨在提供一些TS类型提示工具集,同时将不同平台加载拓展/获取vm等频繁且常用的操作封装,开发者不需要重复制造轮子,可以专注于积木逻辑的开发。

# 项目结构

root
- node_modules/ #依赖
| - ...
- src/ #源代码
| - fs-context/ #框架代码,勿动
||| - ...
| - extension/
||| - blocks/ #积木代码
||| - menus/ #菜单代码
|| - extension.ts #拓展源代码
||| - ...
- package.json #包
- tsconfig.json #TS配置
- eslint.config.mjs #ESLint配置
- webpack.config.js #Webpack配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 目录结构说明

  • src/extension/: 扩展代码目录
    • blocks/: 积木代码目录
    • menus/: 菜单代码目录
    • extension.ts: 扩展入口文件
  • src/fs-context/: 框架代码目录
  • package.json: 项目配置文件
  • tsconfig.json: TypeScript 配置文件
  • eslint.config.mjs: ESLint 配置文件
  • webpack.config.js: Webpack 配置文件

# 快速上手

只需三步

注意:不要使用npm作为包管理器!它会生成错误的依赖树且无法正确调用项目管理器。 推荐使用yarn:npm install -g yarn

  1. 安装依赖并部署配置
yarn install
1
  1. 启动开发服务器
yarn dev tw #TurboWarp
yarn dev gandi #GandiIDE
1
2
  1. 进行ESLint检查并自动修复
yarn check:lint
yarn check:type
1
2
  1. 编译生产环境代码
yarn build
1

对于新的拓展API文档,访问概念和API

# 文档目录

# 欢迎贡献

Github (opens new window)
欢迎提交IssuePull Request,欢迎Star

已储存的提议和建议

暂无

# 项目贡献者

(opens new window) FallingShrimp的头像 FallingShrimp 开发文档
(opens new window) FurryR的头像 FurryR 代码优化
(opens new window) Cyberexplorer的头像 Cyberexplorer 示例拓展测试
(opens new window) MoreBugOfDog的头像 MoreBugOfDog 代码优化功能建议