使用Gedit进行Prolog开发

使用Gedit进行Prolog开发,prolog,gedit,Prolog,Gedit,我正在尝试在Gedit中设置外部工具插件,这样我就可以点击一个按钮,让prolog解释器出现在底部窗格中。我遇到的问题是,口译员立即关闭。我怎样才能让解释器在打开时不立即终止?谢谢您发布这个有趣的问题。当我看到你的帖子时,我打开了一个gedit窗口,正在编写一个简短的Prolog程序。你激励我让它工作 显然,这个想法是在bash脚本中使用命令gnome-terminal,来创建支持常规用户交互的终端会话。请参见此处的讨论: [Gedit外部工具问题[已解决]--Ubuntu论坛] 我将自己尝试

我正在尝试在Gedit中设置外部工具插件,这样我就可以点击一个按钮,让prolog解释器出现在底部窗格中。我遇到的问题是,口译员立即关闭。我怎样才能让解释器在打开时不立即终止?

谢谢您发布这个有趣的问题。当我看到你的帖子时,我打开了一个gedit窗口,正在编写一个简短的Prolog程序。你激励我让它工作

显然,这个想法是在bash脚本中使用命令
gnome-terminal
,来创建支持常规用户交互的终端会话。请参见此处的讨论:

[Gedit外部工具问题[已解决]--Ubuntu论坛]


我将自己尝试一下…

您可以安装gedit插件,它们包括一个可以在gedit底部窗格上运行的终端。您可以像平常一样在其中启动Prolog


您使用的是哪个Prolog解释器?您使用什么命令来定义SWI Prolog的外部工具?如果将事情简化为“swipl”命令,会发生什么?如果Prolog代码包含一个Prolog/0谓词,那么可能发生的情况是,默认情况下,swipl将其解释为要执行的目标,然后退出。如果是这样的话,我可以给出两到三种方法来防止这种情况。如果我在常规终端中键入prolog或swipl,我将看到一个prolog shell。如果我在外部工具中创建一个命令来执行同样的操作,shell就会出现,然后立即终止。我希望在GEdit底部的窗格中有输出。另外,我对空格没有问题,我的问题是prolog解释器一打开就会停止。好的,您想在底部窗格中只获取SWI prolog运行的输出吗?我以为你想在“顶层”运行你的程序,即以交互方式运行。[我知道文件名中的空格与您的问题无关,但链接的注释显示了如何将正在编辑的文件名作为参数传递给命令行程序(倍频程,而不是swipl)。]据我所知,底部窗格不是完整的终端(不支持标准I/o),只是bash的输出目标(或其他)脚本。@Varun Madiath:Oops,忘了将上面的评论发回给您。这现在是有意义的。如果它不是终端,并且不能接受stdio,那么我就不能在其中运行swipl。我将不得不研究是否可以扩展外部工具插件来支持它。@Varun Madiath:我将做更多的测试并报告结果。这是一个ARCHVed邮件列表消息,外部工具-没有stdio交互,这让我进入了上面的分析。谢谢,这正是我想要的。