如何在PyDev中用函数快速包围变量或表达式(重复编辑)?

2024-04-24 06:10:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PyDev,但我不知道如何快速包围一些变量或表达式。让我解释一下-我有这样的代码(大约200行类似的代码)。你知道吗

a = some_func(b)

我想用函数包围b一些转换,并在其他行中重复它200次-所以首先要标记选择而不是应用环绕-可以在PyDev中用一次单击/键(或比copy begin和copy end更快)。你知道吗

a = some_func(some_surrounding_func(b))

或者更复杂一点:

a = some_func(some_surrounding_func(b, 1))

通常我在some_surrounding_func(之前处理b而不是, 1)之后处理-这是非常低效和缓慢的-我能在Eclipse PyDev中更快地完成并跳过这个低效的任务吗?你知道吗


Tags: 函数代码标记表达式someendfunccopy
1条回答
网友
1楼 · 发布于 2024-04-24 06:10:14

好吧,这里有一些选择:

一个是创建一个自定义脚本命令。。。尽管它需要一些准备工作(创建命令),但这实际上应该非常简单(知道是否有要重复的内容肯定很有用)。你知道吗

我为你创建了一个例子:

https://gist.github.com/fabioz/d398cfa30960285c869c

只需下载名为pyedit的文件_xxx年并将其放在Preferences>;Pydev>;scripting Pydev)中用于脚本的跟踪目录之一。您可能需要配置ACTIVATION\u字符串(在该示例中它绑定到'x',这意味着它是用Ctrl+2,x激活的)您可以编辑它来更改环绕的函数(以及任何您真正想要的结果)注意,您必须重新启动当前的PyDev编辑器才能使用脚本。。。更多详细信息请访问:http://pydev.org/manual_articles_scripting.html

另一个选择(如果您将PyDev与LiClipse http://www.liclipse.com/一起使用)可能是使用多光标功能,在这种情况下,这可能非常方便:http://www.liclipse.com/multi_edition_video.html(即:选择所有需要的内容,然后编写一次前后的部分,并将其一次应用于所有选定的位置,尽管这仅在所有引用都在同一个文件中时才起作用)。你知道吗

还有一个选择是使用实际的宏插件(https://sourceforge.net/projects/practicalmacro/),在那里你可以录制一个宏然后回放。你知道吗

另一个选项(如果您要用一个regexp替换可以搜索的内容)是在regexp模式下进行文件搜索(Ctrl+H),然后执行replace all,这将使用以前找到的表达式的组(如果您执行regexp replace注意,只有在执行regexp搜索时才会激活它)。你知道吗

即:

假设您要搜索所有与“x”匹配的名称,您将搜索regexp\bx\b,然后稍后您可以对myfunc($0)之类的内容进行替换。请注意,$0,$1等表示regexp先前匹配的部分(因此,您甚至可以执行诸如颠倒那里的顺序之类的操作)。你知道吗

相关问题 更多 >