TraceStudio-dev/docs/server1.2/FILE_VIEWER_GUIDE.md
2026-01-09 21:37:02 +08:00

144 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 文件管理器增强功能
## 🆕 新增功能
### 1. 文件查看器
点击文件管理器中的任意文件,可以在新窗口中打开查看:
**支持的文件类型**:
-**文本文件** (.txt, .md) - 纯文本查看和编辑
-**代码文件** (.py, .js, .ts, .tsx, .jsx, .css, .html, .yaml, .yml) - 语法高亮显示
-**JSON文件** (.json, .utrace) - 格式化显示和编辑
-**图片文件** (.png, .jpg, .jpeg, .gif, .bmp, .svg, .webp) - 图片预览
-**CSV文件** (.csv) - 文本查看
### 2. 文件编辑器
对于文本类文件,支持在线编辑:
**编辑功能**:
- ✏️ 点击"编辑"按钮进入编辑模式
- 💾 编辑完成后点击"保存"保存修改
- ❌ 点击"取消"放弃修改
- ⬇️ 点击"下载"下载文件到本地
**编辑器特性**:
- 等宽字体显示
- 保留缩进和格式
- JSON自动格式化
- 实时编辑反馈
### 3. 右键菜单增强
右键点击文件,新增菜单选项:
- 👁️ **打开查看** - 在新窗口中打开文件
- ⬇️ **下载** - 下载文件到本地
- 📂 **导入工作流** (.utrace文件专用)
- 🗑️ **删除** - 删除文件
## 📖 使用方法
### 打开文件
**方式1**: 单击文件名 → 自动打开查看器
**方式2**: 右键文件 → 选择"打开查看"
**方式3**: 双击.utrace文件 → 自动导入工作流
### 编辑文件
1. 打开文件查看器
2. 点击"编辑"按钮
3. 修改文件内容
4. 点击"保存"保存修改
### 快捷键
- **ESC** - 关闭文件查看器
- **点击背景** - 关闭文件查看器
## 🎨 界面预览
```
┌─────────────────────────────────────────────────┐
│ 📄 myfile.txt ❌ │
│ cloud/data/myfile.txt │
│ │
│ [✏️ 编辑] [⬇️ 下载] │
├─────────────────────────────────────────────────┤
│ │
│ 这是文件内容... │
│ 支持多行显示 │
│ 保留原始格式 │
│ │
└─────────────────────────────────────────────────┘
```
## 📝 技术实现
### 组件结构
- **FileViewer.tsx** - 文件查看器主组件
- 文件内容加载
- 编辑模式切换
- 保存功能
- 下载功能
- **FileExplorer.tsx** - 文件管理器(已增强)
- 添加viewingFile状态
- 单击打开查看器
- 右键菜单扩展
### 文件类型判断
```typescript
function getFileType(extension: string): string {
const imageExts = ['png', 'jpg', 'jpeg', 'gif', 'bmp', 'svg', 'webp'];
const codeExts = ['py', 'js', 'ts', 'tsx', 'jsx', 'css', 'html', 'yaml'];
if (imageExts.includes(extension)) return 'image';
if (extension === 'json') return 'json';
if (codeExts.includes(extension)) return 'code';
return 'text';
}
```
### 编辑保存流程
```typescript
1. 用户点击"编辑" setIsEditing(true)
2. 修改editedContent状态
3. 点击"保存" 创建File对象
4. 上传到服务器 uploadFile()
5. 成功后更新content setContent(editedContent)
```
## 🔒 安全说明
### 只读文件
以下类型的文件只支持查看,不支持编辑:
- 图片文件(.png, .jpg等
- 二进制文件
- 未知类型文件
### 编辑权限
- ✅ 文本文件可编辑
- ✅ JSON文件可编辑
- ✅ 代码文件可编辑
- ❌ 图片文件只读
- ❌ 二进制文件不支持预览
### 文件大小限制
- 建议编辑文件大小 < 1MB
- 大文件建议下载到本地编辑
## 🐛 已知问题
1. **大文件加载** - 超大文件可能加载较慢
2. **语法高亮** - 暂不支持语法高亮可后续添加Monaco Editor
3. **二进制文件** - 不支持预览只能下载
## 🚀 未来改进
- [ ] 集成Monaco Editor实现代码高亮
- [ ] 添加搜索/替换功能
- [ ] 支持更多文件类型预览
- [ ] 添加文件diff比较功能
- [ ] 支持文件版本历史
## 📞 反馈
遇到问题或有建议请联系开发团队