Ada GNAT GPS:添加自定义命令

Ada GNAT GPS:添加自定义命令,ada,gnat,gnat-gps,Ada,Gnat,Gnat Gps,我想知道是否有可能向GNAT编程工作室(GPS)添加自定义命令 如果调用自定义命令(通过菜单栏中的按钮或键盘快捷键),则应调用外部Python脚本,其中包含在编辑器中打开和选择的文件的完整/绝对路径。这是一个快速而肮脏的脚本,可能会给出一些方向。我在Linux上测试了它,但它也应该在Windows上工作。更改结尾附近的操作以调用您喜欢的脚本。要实际使用它,您必须将它放在(隐藏).gps/plug-ins目录中,该目录可以在您的主目录中找到。可以从源代码窗口中的上下文菜单调用实际操作 运行我的脚本

我想知道是否有可能向GNAT编程工作室(GPS)添加自定义命令


如果调用自定义命令(通过菜单栏中的按钮或键盘快捷键),则应调用外部Python脚本,其中包含在编辑器中打开和选择的文件的完整/绝对路径。

这是一个快速而肮脏的脚本,可能会给出一些方向。我在Linux上测试了它,但它也应该在Windows上工作。更改结尾附近的操作以调用您喜欢的脚本。要实际使用它,您必须将它放在(隐藏)
.gps/plug-ins
目录中,该目录可以在您的主目录中找到。可以从源代码窗口中的上下文菜单调用实际操作

运行我的脚本.py

运行Python脚本 这个插件执行一个python脚本。 """ ########################################################################### #此行下没有用户自定义 ########################################################################### 导入操作系统,系统 导入GPS 从gps_utils导入交互式 def_u_contextalMenuFilter(上下文): #检查上下文是否由源编辑器生成 如果不是(context.module_name==“Source_Editor”): 返回错误 #如果全部正常,则在关联菜单中显示菜单项。 返回真值 定义上下文菜单标签(上下文): #获取当前缓冲区 name=context.file().name() basename=os.path.basename(名称) #菜单项的名称。 返回“为{}运行Python脚本”。格式(basename) @互动的( name=“运行Python脚本”, 上下文=uu上下文菜单标签, 过滤器=uuu上下文菜单过滤器) def on_activate(): #如果已修改,请在继续之前保存。 eb=GPS.EditorBuffer.get() 如果eb.U被修改: eb.save() #运行操作(定义如下)。 GPS.执行_操作(“我的_脚本”) GPS.parse_xml(“”)

  • 建议您运行GPS并转到菜单“帮助”>“GPS”>“Python extensions”。感谢您的示例脚本。如果我的Python脚本修改了磁盘上的引用文件,GPS会询问我是否有兴趣重新加载该文件。Python插件脚本是否可以抑制这种行为?我不想全局禁用此重新加载问题。您可以吗可能需要尝试将回调添加到相应的挂钩(例如,
    file\u changed\u检测到的
    ,如所述)。
    python3 /home/deedee/my_script.py /home/deedee/example/src/main.adb
    Running script /home/deedee/my_script.py for /home/deedee/example/src/main.adb