Skip to content

Excel 文件编辑器 - 支持在 VS Code 中编辑 Excel 文件,双向绑定表单与编辑器。

License

Notifications You must be signed in to change notification settings

JoyousCode/excel-plugin

Repository files navigation

ExcelPlugin

Excel 文件编辑器 - 支持在 VS Code 中编辑 Excel 文件,双向绑定表单与编辑器。

ExcelPlugin Logo

功能特性

ExcelPlugin 是一个强大的 VS Code 扩展,旨在将 Excel 电子表格的编辑能力直接带入你的代码编辑器中。

  • 侧边栏视图: 通过活动栏的 Excel 图标打开一个专用的侧边栏,用于显示和编辑 Excel 内容。
  • 文件操作: 轻松打开本地的 Excel 文件 (.xlsx, .xls, .xlsm, .xlsb) 和文本文件 (.csv, .tsv)。
  • 核心编辑: 支持添加新行、更新单元格数据等基本操作。
  • 状态控制: 可以方便地激活、停用或切换编辑器的工作状态。
  • 双向同步: 支持表单与编辑器内容的双向数据同步,确保数据实时更新和一致性。
  • 启动激活配置: 可配置在启动时是否自动激活插件,设置为 true 会直接将插件置为已激活状态,false 会直接将插件置为未激活状态。
  • 快捷键支持: 为常用操作(如切换状态)提供了默认的键盘快捷键。
  • 实时数据更新: 当用户在编辑器中添加新行或修改内容时,内存数据会实时同步更新。
  • 数据一致性: 确保表单数据与编辑器中实际行数据保持一致,避免数据闪烁和清空问题。
  • 智能抖动系统: 优化输入防抖,提高编辑体验,支持动态调整防抖时间。
  • 表头行管理: 支持自定义表头行,自动根据表头行输入框渲染表单项名称。
  • 当前行管理: 支持快速导航到指定行,自动同步光标位置与当前行输入框。
  • 自动调整输入框: 表单项输入框会根据内容自动调整大小,提供更好的编辑体验。
  • 同步协调器: 采用模块化的同步处理器架构,支持多种同步场景的灵活配置。
  • 智能列数计算: 自动计算所有行中的最大列数,确保数据完整性。
  • 实时同步
    • 当修改插件中表头行输入框的值,实时同步渲染表单的表单项(表头)
    • 光标所在行实时同步到插件中当前行输入框的值,
    • 改变插件中当前行输入框的值实时同步将光标放到修改后的行的最前面。
    • 当插件中表头行的值小于光标所在行的值,编辑编辑器的每列值能实时同步渲染到插件中表单项的值,编辑插件中表单项的值能实时同步渲染到编辑器(编辑未保存状态)
    • 当插件中表头行的值等于光标所在行的值,编辑编辑器的每列值能实时同步渲染到插件中表单项的值,编辑插件中表单项的值能实时同步渲染到编辑器(编辑未保存状态)
    • 当插件中表头行的值大于光标所在行的值,编辑编辑器的每列值能实时同步渲染到插件中表单项的值,编辑插件中表单项的值能实时同步渲染到编辑器(编辑未保存状态)
    • 当插件中表头行的值等于光标所在行的值,修改插件中表单项的值,能实时同步到插件中表单项名称(表头)。

安装方式

方法一:从 VS Code 插件市场安装

  1. 打开 VS Code。
  2. 进入扩展视图 (快捷键 Ctrl+Shift+XCmd+Shift+X)。
  3. 搜索 ExcelPlugin
  4. 点击 "安装"。
  5. 安装完成后,重新加载窗口即可使用。

方法二:从 GitHub Release 下载安装

如果您无法直接从插件市场安装,或者需要安装特定版本,可以通过以下步骤从 GitHub 下载并手动安装:

  1. 访问 ExcelPlugin GitHub 仓库
  2. 点击页面右侧的 "Releases" 标签
  3. 在发布列表中找到您想要安装的版本(建议选择最新的稳定版本)
  4. 下载 .vsix 文件(例如:excel-plugin-1.0.2.vsix
  5. 在 VS Code 中打开扩展视图 (Ctrl+Shift+XCmd+Shift+X)
  6. 点击扩展视图右上角的三个点(更多操作)
  7. 选择 "从 VSIX 安装..."
  8. 浏览并选择您下载的 .vsix 文件
  9. 安装完成后,重新加载窗口即可使用

使用方法

1. 打开侧边栏

点击 VS Code 活动栏上的 Excel 图标,即可打开 ExcelPlugin 的侧边栏视图。

调整视图位置,方便使用

点击 VS Code 活动栏上的 Excel 图标,打开 ExcelPlugin 的侧边栏视图,右键点击 VS Code 活动栏上的 Excel 图标显示菜单 → 点击【移动到】 → 【点击辅助侧边栏】,插件则会展示到右边辅助侧边栏。 注意:可能会有插件失效问题,需要重新激活插件,或者重新启动VSCode即可。

切换视图到辅助侧边栏

2. 打开文件

  • 方法一: 在侧边栏中,使用 "打开Excel文件" 按钮来选择并加载一个 Excel 文件。
  • 方法二: 直接在 VS Code 中打开 Excel 文件、CSV 文件或 TSV 文件,插件会自动检测并加载。

3. 编辑数据

  • 光标定位: 光标定位到编辑器中的某一行,侧边栏会自动显示该行的数据。
  • 表单编辑: 在侧边栏表单中修改数据,修改会自动同步到编辑器中。
  • 编辑器编辑: 在编辑器中直接修改内容,侧边栏表单也会实时更新。

4. 设置表头行

  • 在侧边栏顶部的 "表头行" 输入框中输入行号,按 Enter 键确认。
  • 插件会根据设置的表头行自动渲染表单项名称。
  • 如果表头行只有一列数据,也会正确显示对应的表头。

5. 导航到指定行

  • 在侧边栏顶部的 "当前行" 输入框中输入行号,按 Enter 键确认。
  • 光标会自动移动到指定行的行首。
  • 如果输入的值大于总行数,会自动调整为总行数。

6. 添加新行

  • 方法一: 在编辑器中某一行末尾按回车键添加新行。
  • 方法二: 在侧边栏中点击 "添加新行" 按钮,会复制当前光标所在行的数据到最后一行。

7. 自动调整输入框

  • 表单项输入框会根据内容自动调整大小,初始显示 3 行。
  • 当内容超过 3 行时,会自动扩展到最多 6 行。
  • 当内容超过 6 行时,会显示滚动条。

8. 保存更改

插件会根据你的配置自动将更改同步回文件(注:如果设置的VSCode编辑文件不会自动保存,则表单修改Excel文件不会自动保存)。

键盘快捷键

命令 快捷键 (Windows/Linux) 快捷键 (Mac) 何时可用
excelPlugin.toggleStatus Ctrl + 0 Cmd + 0 编辑器文本获得焦点时

扩展配置

你可以在 VS Code 的设置中 (File > Preferences > SettingsCtrl + ,) 搜索 ExcelPlugin 来配置以下选项:

设置项 类型 默认值 描述
excelPlugin.activateOnStart boolean true 是否在启动时激活插件。设置为 true 会在启动时直接将插件置为已激活状态,false 会直接将插件置为未激活状态。

状态管理

1. 启动激活配置

通过设置 excelPlugin.activateOnStart 配置项,可以控制插件在 VS Code 启动时的激活状态:

  • true:启动时插件自动激活,状态栏显示为已激活状态,侧边栏展示正常功能界面。
  • false:启动时插件保持未激活状态,状态栏显示为未激活状态,侧边栏展示未激活页面。

2. 状态栏操作

  • 已激活状态:状态栏显示 "$(excel) Excel编辑",点击可切换为未激活状态。
  • 未激活状态:状态栏显示 "$(circle-slash) Excel编辑",点击可切换为已激活状态。

3. 快捷键操作

  • Ctrl+0 (Windows/Linux) 或 Cmd+0 (macOS):切换插件激活/未激活状态。
  • 切换状态时,配置项会自动同步更新。

4. 状态管理逻辑

  • 插件显示时:优先检查 activateOnStart 配置,根据配置值初始化插件状态。
  • 状态切换时:更新配置项并重新初始化插件(激活时)或展示未激活页面(未激活时)。
  • 未激活状态:插件停止处理所有内容,包括检查编辑器文件是否是 Excel 文件以及同步数据。

开发

如果你想为这个插件贡献代码,请按照以下步骤操作:

1. 克隆仓库

git clone https://github.com/JoyousCode/excel-plugin.git
cd excel-plugin

2. 安装依赖

npm install

3. 运行开发服务器

npm run watch

4. 调试扩展

  • F5 启动调试会话。
  • VS Code 会打开一个新窗口,加载开发版本的插件。

5. 运行测试

npm run test

6. 代码检查

npm run lint

7. 打包扩展

npm run package

这将生成一个 .vsix 文件,用于分发和安装。

贡献

欢迎提交 Issue 和 Pull Request 来帮助改进这个插件!

贡献指南

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

许可证

本项目采用 MIT 许可证。详细信息请参阅 LICENSE 文件。

联系方式

如有问题或建议,请通过以下方式联系我们:


ExcelPlugin - 让 Excel 编辑更高效!

About

Excel 文件编辑器 - 支持在 VS Code 中编辑 Excel 文件,双向绑定表单与编辑器。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors