我发现,当函数的参数、列表的元素等被拆分到不同的行上时,它们会变得容易得多。如果这更难阅读,我可以稍后用“J”将它们连接起来。应该如何拆分括号内的所有内容。它似乎是某种正则表达式搜索和替换模式,但我找不到让它无论参数和缩进级别如何都能工作的方法:
例子:
Example 1:
parser.add_argument('--viz', action='store_true', help='to show vizualisation or not')
Desired output:
parser.add_argument('--viz',
action='store_true',
help='to show vizualisation or not')
Example 2:
Input:
parser.add_argument('--viz', action='store_true', lambda: print("sometext here"))
Desired output:
parser.add_argument('--viz',
action='store_true',
lambda: print("sometext here"))
Example 3:
Input:
def func(*args, **kwargs):
temp = ['asd', 123, true]
Desired output:
def func(*args,
**kwargs):
temp = ['asd',
123,
true]
答案1
如果这是 Python 代码,在我看来,我的拆分连接插件似乎对所有这些示例都做了正确的事情,但有一些缩进差异(无论如何,这些差异来自内置缩进脚本)。
这不是一个“你应该这样做”的答案,因为这是一个复杂的问题,你需要计算括号、忽略字符串等等。这就是为什么我为这些东西编写了一个完整的插件,它使用不同的回调函数处理每种情况。我只能建议你尝试一下,看看它是否适合你的用例。