今天看吕召刚的极客时间的视频,解锁了一个PyCharm编辑器的非常实用的小技巧,这里来记录一下。

场景:
比如说,我有一个Django的模型类中有几十个字段,我希望将它们按照特定的分组,组成几个数组,我应该怎么操作?
人肉手动的一个个的字段的拼语句当然不是不可以,只是效率太差了。

例如,我的模型类是这样的:

最终,我期望得到的是类似这样的结果:

如果我需要在列表中添加的成员过多,那么一个个的人肉敲就有两个问题:

  1. 效率很低
  2. 容易敲错
  3. 容易敲漏

下面来说说更好的做法是什么:通过PyCharm编辑器自身的功能可以快速实现这种需求的文本编辑

具体步骤如下:

一、首先,我们需要修改的目标字段全部都复制到一个全新的空文本中:

二、此时可以看到文本中有很多字段的定义是跨越了多行的,这里我们只需要留下包含字段名称的那一行,因此多余的行先手动删掉

可以看到,多余的行已经手动删除了

三、去掉每一行等号以及等候后面的定义,只保留字段的名称

通过快捷方式:

  1. Apple MacOS【Command + R】
  2. Microsoft Windows【Ctrl + R】

调出替换功能的窗体,然后如下图所示

请注意,上面的呈现是默认情况下的样子,注意到输入框右侧的第三个图标【.*】,只有把它打开了,输入框中的文本才能够支持正则表达式的匹配;我们打开它:

可以很明显的看到有所不同了。

下面,来替换每一行的等号及其后面的所有字符:

可以从上图看到,通过正则表达式【=.*$】,PyCharm已经匹配到了所有的需要匹配到的内容

这时候,点击【Replace All】,就可以完成我们需要的文本修改

四、按照一样的方法,替换掉所有多余的空格

如上,正则框中有一个空格【 】

替换后:

五、手动处理空行,并且将字段分组,将需要放到一个列表中的字段放在一起

六、给每行的行首和行尾添加上双引号

在替换的正则框中【^】代表行首:

在替换的正则框中【$】代表行尾:

七、将需要合并为一行的字段合并为一行

首先,选中需要合并的字段:

然后【菜单 – Edit – Join Lines】

效果:

可以看到,它们被自动合并到了一行。


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装