Tele IDP VSCode 插件
概述
Tele IDP 是一个支持角色区分的二开工作台插件,为不同角色的用户提供定制化的功能模块和工作界面。
支持的角色
插件支持以下5种角色:
- 需求人员 (requirement) - 专注于需求管理和分析
- 设计人员 (design) - 专注于系统设计和架构
- 研发人员 (development) - 专注于代码开发和实现
- 测试人员 (test) - 专注于测试和质量保证
- 维护人员 (maintenance) - 专注于系统维护和运维
功能特性
- 🌐 Web应用加载: 在VSCode内嵌入并显示Web应用
- 🔄 数据交互: 支持VSCode与Web应用之间的双向数据通信
- 📁 文件操作: 通过Web界面操作VSCode中的文件
- 📊 工作区信息: 获取和显示当前工作区的详细信息
- 🎨 主题适配: 自动适配VSCode的主题样式
安装方法
方法一:离线安装VSIX文件
- 下载插件的
.vsix文件
- 在VSCode中按
Ctrl+Shift+P(Mac: Cmd+Shift+P)打开命令面板
- 输入
Extensions: Install from VSIX...
- 选择下载的
.vsix文件进行安装
方法二:从源码构建
- 克隆项目到本地
- 进入项目目录
- 安装依赖并打包:
npm install
npm run package
- 安装生成的
.vsix文件
使用方法
启动插件
- 安装插件后,按
Ctrl+Shift+P打开命令面板
- 输入
IDP: Open IDP Web View
- 插件将在新的面板中打开
功能说明
Web应用加载
- 默认加载地址:
http://localhost:5173(idp-admin项目)
- 可以自定义加载任意Web应用URL
- 支持iframe方式嵌入显示
数据交互功能
- 显示消息: 从Web向VSCode发送通知消息
- 获取工作区信息: 获取当前VSCode工作区的详细信息
- 文件操作:
支持的消息类型
从Web发送到VSCode:
// 显示消息
vscode.postMessage({
command: 'alert',
text: 'Hello from Web!'
});
// 获取工作区信息
vscode.postMessage({
command: 'getWorkspaceInfo'
});
// 打开文件
vscode.postMessage({
command: 'openFile',
filePath: '/path/to/file.txt'
});
// 创建文件
vscode.postMessage({
command: 'createFile',
fileName: 'new-file.txt',
content: 'File content here'
});
从VSCode发送到Web:
// 监听工作区信息
window.addEventListener('message', event => {
const message = event.data;
if (message.command === 'workspaceInfo') {
console.log('工作区信息:', message.data);
}
});
开发说明
项目结构
idp-vscode-plugin/
├── package.json # 插件配置文件
├── extension.js # 插件主入口文件
├── README.md # 说明文档
└── .vscodeignore # 打包忽略文件
核心文件说明
- package.json: 定义插件的基本信息、命令、菜单等配置
- extension.js: 插件的主要逻辑,包含激活函数、命令处理、Web视图创建等
开发环境要求
- Node.js 14+
- VSCode 1.74.0+
- vsce (VSCode Extension Manager)
构建命令
# 安装依赖
npm install
# 打包插件
npm run package
# 安装插件到VSCode
npm run install-extension
配置说明
默认Web应用地址
插件默认加载http://localhost:5173,这是idp-admin项目的开发服务器地址。你可以:
- 在Web界面中输入其他URL进行加载
- 修改
extension.js中的默认URL
- 通过插件配置项自定义默认地址
安全设置
插件启用了以下安全设置:
enableScripts: true - 允许执行JavaScript
retainContextWhenHidden: true - 保持状态
localResourceRoots - 限制本地资源访问范围
常见问题
Q: Web应用无法加载?
A: 请确保目标Web应用服务器正在运行,并且URL地址正确。
Q: 数据交互不工作?
A: 检查Web应用中是否正确使用了acquireVsCodeApi()获取VSCode API。
Q: 插件安装失败?
A: 确保VSCode版本不低于1.74.0,并且.vsix文件完整无损。
更新日志
v1.0.0
- 初始版本发布
- 支持Web应用加载
- 实现基本的数据交互功能
- 支持文件操作
许可证
MIT License
贡献
欢迎提交Issue和Pull Request来改进这个插件。
联系方式
如有问题或建议,请联系开发团队。