船运术语高亮插件 (Enhanced Shipping Term Plugin)
一个专为 VS Code 设计的船运术语高亮插件,帮助用户快速识别和理解船运相关术语。
🚀 功能特性
- 智能高亮显示:自动识别并高亮显示常用船运术语(FOB、CIF、EXW等)
- 悬停提示:鼠标悬停显示术语详细解释
- 多语言支持:支持中英文术语对照
- 自定义配置:可配置高亮颜色、开关控制等
- 性能优化:针对大文件进行了性能优化
📦 安装
从 VS Code 市场安装
- 打开 VS Code
- 按
Ctrl+Shift+X
打开扩展面板
- 搜索 "Enhanced Shipping Term Plugin"
- 点击安装
手动安装
- 下载
.vsix
文件
- 在 VS Code 中按
Ctrl+Shift+P
- 输入 "Extensions: Install from VSIX"
- 选择下载的
.vsix
文件
🎯 使用方法
基本使用
- 打开包含船运术语的文档
- 插件会自动高亮显示识别到的术语
- 将鼠标悬停在高亮术语上查看详细解释
命令面板
Ctrl+Shift+P
→ "Shipping Terms: Show Statistics" - 显示当前文档术语统计
Ctrl+Shift+P
→ "Shipping Terms: Refresh Highlights" - 刷新高亮显示
Ctrl+Shift+P
→ "Shipping Terms: Toggle Highlights" - 开关高亮功能
配置选项
在 VS Code 设置中搜索 "shipping-terms" 可配置:
shipping-terms.enabled
: 启用/禁用插件
shipping-terms.highlightColor
: 高亮颜色
shipping-terms.showHover
: 显示悬停提示
shipping-terms.caseSensitive
: 大小写敏感
🛠️ 开发指南
环境要求
- Node.js >= 16.0.0
- npm 或 pnpm
- VS Code >= 1.74.0
本地开发
# 克隆项目
git clone <repository-url>
cd enhanced-shipping-term-plugin
# 安装依赖
npm install
# 或使用 pnpm
pnpm install
# 编译项目
npm run compile
# 运行测试
npm test
# 启动开发模式
npm run watch
调试
- 在 VS Code 中打开项目
- 按
F5
启动调试模式
- 在新窗口中测试插件功能
打包发布
# 打包插件
npm run package
# 发布到市场
npm run publish
📁 项目结构
src/
├── core/ # 核心功能模块
│ ├── configurationManager.ts # 配置管理
│ └── termManager.ts # 术语管理
├── data/ # 数据文件
│ └── shippingTermsData.ts # 船运术语数据
├── i18n/ # 国际化
│ ├── i18nManager.ts # 国际化管理
│ └── locales/ # 语言文件
├── providers/ # VS Code 提供者
│ ├── highlightProvider.ts # 高亮提供者
│ └── hoverProvider.ts # 悬停提示提供者
├── test/ # 测试文件
│ ├── unit/ # 单元测试
│ ├── integration/ # 集成测试
│ └── e2e/ # 端到端测试
├── types/ # 类型定义
│ └── shippingTerm.ts # 船运术语类型
└── extension.ts # 插件入口文件
🧪 测试
运行测试
# 运行所有测试
npm test
# 运行单元测试
npm run test:unit
# 运行集成测试
npm run test:integration
# 运行端到端测试
npm run test:e2e
# 生成测试覆盖率报告
npm run test:coverage
测试文件
src/test/unit/
- 单元测试
src/test/integration/
- 集成测试
src/test/e2e/
- 端到端测试
test-shipping-terms.md
- 测试用例文档
📋 维护指南
添加新术语
- 编辑
src/data/shippingTermsData.ts
- 添加新的术语定义
- 更新相关测试用例
- 运行测试确保功能正常
更新翻译
- 编辑
src/i18n/locales/
下的语言文件
- 添加或修改翻译条目
- 测试多语言功能
性能优化
- 监控大文件处理性能
- 优化正则表达式匹配
- 减少不必要的重新渲染
- 使用缓存机制
代码质量
# 代码格式化
npm run format
# 代码检查
npm run lint
# 类型检查
npm run type-check
🔧 配置文件说明
package.json
- 项目配置和依赖
tsconfig.json
- TypeScript 配置
.eslintrc.json
- ESLint 配置
.prettierrc
- Prettier 配置
.vscode/
- VS Code 工作区配置
📈 功能路线图
查看 FEATURE_ROADMAP.md 了解未来功能规划。
🐛 问题反馈
如果遇到问题或有功能建议,请:
- 查看现有 Issues
- 创建新的 Issue 并提供详细信息
- 包含错误日志和复现步骤
🤝 贡献指南
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature
)
- 提交更改 (
git commit -m 'Add some AmazingFeature'
)
- 推送到分支 (
git push origin feature/AmazingFeature
)
- 创建 Pull Request
代码规范
- 使用 TypeScript 严格模式
- 遵循 ESLint 和 Prettier 配置
- 编写单元测试
- 添加适当的注释
- 遵循语义化版本控制
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🙏 致谢
感谢所有为这个项目做出贡献的开发者和用户。
注意:本插件专为船运行业设计,如有专业术语解释不准确的地方,欢迎反馈改进。