GEdit/Python执行插件?

7
我刚开始学习Python,使用GEdit加上各种插件作为我的IDE。
Visual Studio/F#有一个功能,允许在代码窗口中突出显示一段文本,然后在按下某个键时,在F#控制台中执行该文本。
是否有类似的工具/插件可以实现GEdit/Python的这种行为?我有各种执行类型的插件(Run In Python,Better Python Console),但它们不能给我这种特定的行为 - 或者至少我不知道如何配置它们来给我这种行为。我发现它很有用,因为在学习Python时,我想执行一些测试代码,以尝试理解它们正在做什么(而不是完整文件),或者执行一些小段的代码(复制/粘贴可能会有点烦人)。
...或者也许有更好的方法来进行代码探索?
谢谢
Simon
8个回答

18

是的,您需要使用"外部工具插件"。

例如,

  1. 编辑 > 首选项
  2. 插件
  3. 勾选 "外部工具"
  4. 关闭首选项窗口

  5. 工具 > 管理外部工具

  6. 点击左下方的 "添加新工具" 图标
  7. 将名称设置为 "执行高亮 Python 代码"
  8. 为其设置一个快捷键
  9. 将输入组合框更改为: "高亮选定内容"
  10. 将输出更改为: "在底部面板中显示"
  11. 在工具的编辑器窗口中,用以下内容替换所有内容:

.

#!/usr/bin/env python
import sys
result = eval(sys.stdin.read())
print expression, "=>", result, type(result)

.


就我所知,在gedit 3.8.3中,即使将相同的语法复制到ipython中也可以正常工作,但我却收到了一个语法错误。 - Amanda
很好的想法。不过,我会在第二行使用 exec,并将第三行的 print 语句删除,因为这样有助于以更具可移植性的方式编写代码。 - Tapajit Dey
不起作用。除了使用过时的python2打印语法外,它还抱怨expression变量不存在。这个答案有效 - Hi-Angel

5

如果您希望查看整个.py文件的结果,可以将此代码放入您新创建的外部工具窗口中。

#!/usr/bin/env python
import sys
exec(sys.stdin.read())

并将输入更改为当前文档


3

对于Python,您可以使用“外部工具插件”:

#!/bin/sh
python3 "$GEDIT_CURRENT_DOCUMENT_PATH"

外部工具选项: 保存:当前文档 输入:当前文档 输出:在底板上显示

语言:Python或Python3

不要忘记在$GEDIT_CURRENT_DOCUMENT_PATH周围加上引号....


1
是的,这是一个简单的解决方案。我也这样做了。 - Siladittya
截至2020年仍然有效。顺便说一句,我遇到了一些输出不出现的问题,后来发现有一些快捷键被分配了但没有触发操作。实际上,大多数快捷键都有这个问题。为了找出哪一个起作用,我不得不在插件文本字段中留下语法错误,并不断重新分配按键绑定,直到我看到gedit抱怨语法错误。 - Hi-Angel

1
回答你的第二个问题,希望能引导你走向更加满意的方向,我认为你应该考虑尝试一些不同的编辑器。有许多编辑器比GEdit拥有更强大的代码探索功能。可以看看这篇文章:

用于Python的什么IDE?


1
我在gedit中安装了iPython控制台,并在其中执行大多数简单脚本,但gedit是一个非常简单的编辑器,因此它不会像IDE那样拥有一些高级功能。
但是,如果您想要代码探索或自动完成,我建议使用像Eclipse这样的真正的IDE。
如果您只是需要一个编辑器,KomodoEdit是可以的。

1
我做的是保留一个名为python_temp.py的文件。我在我的dock中设置了一个快捷方式。我把它用作草稿本。每当我想快速运行一些代码时,我复制代码,点击dock中的快捷方式,粘贴文本并按f5运行。快速、简单、灵活。

1

1
最接近一个像样的IDE... 安装gedit-developer-plugins(通过synaptic || apt-get),并不要忘记从gEdit的插件中启用(你需要的)插件(编辑 -> 首选项[选项卡]插件),愉快编码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接