开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1568|回复: 71
收起左侧

[易语言助手插件] 易语言 MCP 插件 0.1版

[复制链接]
结帖率:85% (101/119)
发表于 2026-4-8 16:26:09 | 显示全部楼层 |阅读模式   安徽省滁州市

MCP插件3.0 本地MCP文档

目前仅供娱乐,不如使用E2TXT增强版互转了。

本插件可实现通过外部软件以 MCP 服务器方式操控易语言 IDE。

使用前提

  • 使用必须启用内联汇编支持库。
  • 将插件放到助手插件目录下:
    • 易语言目录\lib\iDraw\eTools\Plugin\MCP.dll(视觉库)
    • 易语言目录\lib\eTools\Plugin\MCP.dll
  • 然后在助手插件设置中启用。

接入 MCP 客户端

在 Cherry Studio、Codex 等支持 MCP 的软件中新增 MCP:

  • 类型:流式HTTP
  • URL:启动 IDE 的时候会输出类似于:http://127.0.0.1:2334/mcp

tools/list 返回的当前公开工具

说明:

  • 下表按当前项目代码中的 批量添加工具_* 分组整理。
  • 可用状态 仅表示当前实现状态;其中 条件可用 仍可能受 IDE 当前页面、支持库状态或交互流程影响。

程序配置

方法 说明 可用状态
add_cond_macro 新增条件编译宏。 可用
get_active_cond_macro 读取当前激活条件编译宏。 可用
get_cond_macro_detail 读取条件编译宏详情。参数:index/name。 可用
get_program_config 读取程序配置与元信息。 可用
list_cond_macros 列出条件编译宏。 可用
remove_cond_macro 删除条件编译宏。参数:index/name。 可用
set_active_cond_macro 设置当前激活条件编译宏,起始0。 可用
set_cond_macro_name 修改条件编译宏名称。参数:index/name/new_name。 可用
set_cond_macro_value 修改条件编译宏值。参数:index/name/value。 可用
set_program_author 设置程序作者。参数:author。 可用
set_program_contact_info 设置程序联系信息。参数:zip_code/address/phone/fax/email/homepage/copyright。 可用
set_program_desc 设置程序描述。参数:desc。 可用
set_program_name 设置程序名称。参数:name。 可用
set_program_version 设置程序版本。参数:version_text 或 major/minor/build/revise。 可用

全局变量

方法 说明 可用状态
add_global_variable 新增全局变量。当前版本暂不支持。 暂不支持
get_global_variable_detail 按 index/name 读取全局变量详情。 可用
jump_to_global_variable 跳转到全局变量。参数:index/name。 可用
list_global_variables 列出全局变量。 可用
rename_global_variable 重命名全局变量。建议参数:index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 可用
set_global_variable_comment 设置全局变量注释。参数:index/name/comment。 可用
set_global_variable_public 设置全局变量公开状态。参数:index/name/is_public。 可用
set_global_variable_type 设置全局变量类型。参数:index/name/datatype_id/datatype_name。 可用

数据类型

方法 说明 可用状态
add_datatype 新增数据类型。当前版本 InlineAssembler.fne 未导出 ia_datatype_add。 底层未导出
add_datatype_member 新增数据类型成员。参数:id/index/name/comment/datatype_id/datatype_name/is_reference/array_size。 可用
get_datatype_detail 按 id/index 读取自定义数据类型详情。 可用
jump_to_datatype 跳转到自定义数据类型。参数:id/index。 可用
list_available_types 列出可用数据类型,包含易语言内置类型和自定义数据类型。 可用
list_datatypes 列出自定义数据类型。 可用
remove_datatype 删除数据类型。参数:id/index。 可用
set_datatype_public 设置数据类型公开状态。参数:id/index/is_public。 可用
update_datatype_member 修改数据类型成员。参数:id/index/member_index/name/datatype_id/datatype_name/is_reference。 可用

程序集

方法 说明 可用状态
add_assembly 新增程序集。当前版本 InlineAssembler.fne 未导出 ia_assembly_add。 底层未导出
get_assembly_detail 按 id/index/name 读取程序集详情。 可用
jump_to_assembly 跳转到程序集。参数:id/index/name。 可用
list_assemblies 列出程序集。 可用
rename_assembly 重命名程序集。建议参数:id 或 index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 可用
set_assembly_base_type 设置程序集基类。参数:id/index/name/base_type_id/base_type_name。 可用
set_assembly_comment 设置程序集注释。参数:id/index/name/comment。 可用
set_assembly_public 设置程序集公开状态。参数:id/index/name/is_public。 可用

子程序

方法 说明 可用状态
add_subprogram 新增子程序。参数:name/comment/epk/return_type_id/return_type_name/assembly_id/is_public。 可用
add_subprogram_local_variable 新增局部变量。当前版本 InlineAssembler.fne 未导出 ia_func_add_variable。 底层未导出
add_subprogram_param 新增子程序参数。当前版本 InlineAssembler.fne 未导出 ia_func_add_param。 底层未导出
get_subprogram_detail 按 id/index/name 读取子程序详情。 可用
insert_subprogram 新增子程序,add_subprogram 的别名。 可用
jump_to_subprogram 跳转到子程序。参数:id/index/name。 可用
list_subprograms 列出子程序。 可用
remove_subprogram 删除子程序。参数:id/index/name。 可用
remove_subprogram_local_variable 删除局部变量。当前版本 InlineAssembler.fne 未导出 ia_func_remove_variable。 底层未导出
remove_subprogram_param 删除子程序参数。当前版本 InlineAssembler.fne 未导出 ia_func_remove_param。 底层未导出
rename_subprogram 重命名子程序。建议参数:id 或 index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 可用
set_subprogram_comment 设置子程序注释。参数:id/index/name/comment。 可用
set_subprogram_return_type 设置子程序返回值类型。参数:id/index/name/datatype_id/datatype_name。 可用

常量资源

方法 说明 可用状态
add_bool_constant 新增布尔常量。参数:name/value/comment/is_public。 可用
add_image_resource 新增图片资源。参数:name/path/comment/is_public。 可用
add_number_constant 新增数值常量。参数:name/value/comment/is_public。 可用
add_sound_resource 新增声音资源。参数:name/path/comment/is_public。 可用
add_text_constant 新增文本常量。参数:name/value/comment/is_public/is_long。 可用
add_time_constant 新增时间常量。参数:name/value/comment/is_public。 可用
get_constant_resource_detail 按 index/name 读取常量资源详情。 可用
list_constant_resources 列出常量和资源。 可用
remove_constant_resource 删除常量或资源。参数:index/name。 可用
update_constant_value 修改常量值。参数:index/name/value_kind/value,value_kind=text/number/bool/time。 可用

IDE操作

方法 说明 可用状态
allocate_memory 申请内存。参数:size。 可用
compile_project 编译当前工程。参数:file_path 可空,空时沿用之前编译路径;compile_mode 可选 普通编译/静态编译/黑月编译/独立编译。 条件可用(可能弹窗或运行工程)
free_memory 释放内存。参数:ptr。 可用
get_active_editor_info 读取活动编辑器信息。 可用
get_completion_candidates 读取补全候选对象。参数:keyword/match_type/assembly_id/subprogram_id。 可用
get_cursor_info 读取光标信息。 可用
get_debug_process_info 读取调试进程信息。 可用
get_debug_status 读取当前运行和调试状态。 可用
get_debug_thread_info 读取调试线程信息。 可用
get_ide_info 读取 IDE 基础信息。 可用
get_process_handle_info 读取进程句柄信息。 可用
get_run_status_detail 读取运行状态详情。 可用
get_snapshot 读取当前 IDE 快照。 可用
get_source_info 读取当前源码和程序信息。 可用
get_support_library_loaded_detail 读取已加载支持库详情。参数:index。 可用
get_thread_handle_info 读取线程句柄信息。 可用
import_module 导入模块到当前源码。参数:path。 可用
is_support_library_loaded 判断支持库是否已加载。参数:name。 可用
list_completion_candidates 仅读取补全候选列表。参数:keyword/match_type/assembly_id/subprogram_id。 可用
list_loaded_support_libraries 列出已加载支持库。 可用
list_modules 列出当前项目已导入模块。 可用
list_support_libraries 列出当前源码引用支持库。 可用
list_symbols 列出主要符号总表。 可用
load_support_library 加载支持库。参数:name。 条件可用(受支持库状态影响)
output_text 向易语言 IDE 输出窗口输出文本。参数:text。 可用
read_selection 读取当前选区或当前行文本。 可用
read_symbol 按 kind/id/index/name 读取符号详情;当前仅活动子程序可回填 body_text。 可用
remove_module 按索引移除已导入模块。参数:index。 条件可用(需先确定导入项)
rename_symbol 按 kind 重命名符号。参数:kind;建议用 id/index 定位;新名称用 new_name,也兼容 name;可选 source_name/oldname/control*。 可用
run_project 调试运行当前工程。 条件可用(可能弹窗或运行工程)
search_project 按 keyword 搜索程序集、子程序、DLL命令、数据类型和全局变量。 可用
unload_support_library 卸载支持库。参数:name。 条件可用(受支持库状态影响)
unload_unused_support_libraries 卸载当前源码未引用的支持库。 条件可用(受支持库状态影响)

DLL命令

方法 说明 可用状态
add_dll_command 新增 DLL 命令。参数:name/module/entry_name/return_type_id/return_type_name/is_public。 可用
add_dll_param 新增 DLL 参数。当前版本 InlineAssembler.fne 未导出 ia_dll_func_param_add。 底层未导出
get_dll_command_detail 按 id/index/name 读取 DLL 命令详情。 可用
jump_to_dll_command 跳转到 DLL 命令。参数:id/index/name。 可用
list_dll_commands 列出 DLL 命令。 可用
remove_dll_command 删除 DLL 命令。参数:id/index/name。 可用
remove_dll_param 删除 DLL 参数。当前版本 InlineAssembler.fne 未导出 ia_dll_func_param_remove。 底层未导出
rename_dll_command 重命名 DLL 命令。建议参数:id 或 index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 可用
set_dll_entry_name 设置 DLL 入口名。参数:id/index/name/entry_name。 可用
set_dll_module_name 设置 DLL 模块名。参数:id/index/name/module。 可用

窗口控件

方法 说明 可用状态
get_active_window 读取当前激活设计窗口。 条件可用(需活动设计窗口)
get_window_detail 按 id/index/name 读取窗口详情。 可用
jump_to_active_window 跳转到当前激活窗口。 条件可用(需活动设计窗口)
jump_to_window 跳转到窗口。参数:id/index/name。 可用
list_selected_controls 列出当前选中控件。 条件可用(需活动设计窗口)
list_windows 列出窗口和控件概览。 可用
rename_control 重命名控件。参数:control_id/control_index/control_name/new_name,也兼容 name。 条件可用(需活动设计窗口)
select_all_controls 全选当前窗口控件。 条件可用(需活动设计窗口)
select_control 选择控件。参数:control_id/control_index/control_name。 条件可用(需活动设计窗口)
set_control_comment 设置控件注释。参数:control_id/control_index/control_name/comment。 条件可用(需活动设计窗口)
set_control_datatype 设置控件数据类型。参数:control_id/control_index/control_name/datatype_id/datatype_name。 条件可用(需活动设计窗口)
unselect_control 取消选择控件。参数:control_id/control_index/control_name。 条件可用(需活动设计窗口)

待实现

方法 说明 可用状态
append_subprogram_code 预留:向子程序末尾追加代码。 待实现
apply_text_edit 预留:应用单个文本编辑。 待实现
apply_text_edits_batch 预留:批量应用文本编辑。 待实现
find_callees 预留:查找被调用目标。 待实现
find_callers 预留:查找调用者。 待实现
find_references 预留:查找符号引用。 待实现
format_subprogram 预留:格式化子程序代码。 待实现
get_build_result 预留:读取最近一次编译结果。 待实现
get_change_log 预留:读取 MCP 写操作变更日志。 待实现
get_designer_status 预留:读取设计器状态。 待实现
get_diagnostics 预留:读取诊断信息。 待实现
get_project_model 预留:读取结构化项目模型摘要。 待实现
insert_source_text 预留:插入源码文本。 待实现
insert_subprogram_code 预留:向子程序插入代码。 待实现
is_designer_active 预留:判断当前是否有活动设计窗口。 待实现
list_symbol_usages 预留:列出符号用法。 待实现
preview_text_edit 预留:预览文本编辑。 待实现
read_file_range 预留:read_source_range 的别名。 待实现
read_source_range 预留:读取源码指定行范围。 待实现
read_subprogram_body 预留:读取子程序正文。 待实现
replace_source_range 预留:替换源码指定范围。 待实现
replace_subprogram_body 预留:替换子程序正文。 待实现
resolve_datatype 预留:解析数据类型 ID 与名称。 待实现
resolve_symbol 预留:按名称或 ID 解析符号。 待实现
undo_change 预留:按 change_id 回滚变更。 待实现



游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 7好评 +1 精币 +9 收起 理由
cbl521ysys + 1 感谢分享,很给力!~
恒大大 + 1 感谢分享,很给力!~
文西哥 + 1 感谢分享,很给力!~
风雨3137 + 1 感谢分享,很给力!~
cui870222829 + 1 感谢分享,很给力!~
zjbin1989 + 1 感谢分享,很给力!~
远赴 + 1 + 3 YYDS~!

查看全部评分

结帖率:100% (24/24)

签到天数: 18 天

发表于 11 小时前 | 显示全部楼层   河南省周口市
谢谢分享!!
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 11 小时前 | 显示全部楼层   江西省南昌市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 2 天

发表于 12 小时前 | 显示全部楼层   湖北省宜昌市

感谢分享感谢分享
回复 支持 反对

使用道具 举报

签到天数: 13 天

发表于 12 小时前 | 显示全部楼层   河北省邯郸市
666666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 20 小时前 | 显示全部楼层   江西省南昌市
感谢分享感谢分享
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 昨天 23:45 | 显示全部楼层   江西省吉安市
感谢分享。
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 16 天

发表于 昨天 21:17 | 显示全部楼层   广东省东莞市
666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:96% (25/26)

签到天数: 3 天

发表于 昨天 14:58 | 显示全部楼层   四川省德阳市
支持学习看看
回复 支持 反对

使用道具 举报

结帖率:71% (5/7)

签到天数: 3 天

发表于 昨天 14:29 | 显示全部楼层   四川省泸州市
6666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表