【发布时间】:2020-09-27 22:21:18
【问题描述】:
我们计划使用 iPython 和/或 Jupyter 笔记本作为交互式环境与我们的 DUT(被测设备)进行交互。
将创建类等以与 DUT 交互,但某些函数采用“许多”参数。我希望能够通过增强 tab-completion 来帮助我们的用户:
DUT.
- 根据之前输入的字母显示所有可发送到 DUT 的命令、缩小范围等
DUT.a
- 显示所有可用的以 A 开头的命令
DUT.activate(
- 显示第一个参数的选项,或 **kwargs 的潜在关键字
DUT.activate(A
- 显示以 A 开头的 **kwargs 的第一个参数或潜在关键字的选项
DUT.activate(1, ACTUATOR=
- 显示 **kwarg ACTUATOR 的帮助,可能还有它可以采用的枚举名称等。
我知道这个问题是开放式的,但谷歌似乎没有找到任何关于这一点或更糟的例子,没有说这是否是“正确”的做法。我能想到的所有关键字并没有真正将搜索范围缩小到任何主题。
我见过ipython.set_hook('complete_command',...),但我真的找不到任何关于它的文档。
老实说,我希望有一种方法来装饰/记录我的课程,这样它就可以从文档字符串中提取出来,这将是最棒的,但如果我知道我是如何做到的,我可以做到这一点 应该挂钩到 tab 补全。
如果我可以让它在 VSCODE 中的标准智能感知东西下工作,那么加分(很多行为都可以在编写脚本和交互方式中使用)。
还是我太有野心了?
【问题讨论】:
标签: python ipython tab-completion