编码效率提升 自定义Pycharm Live Templates

2017-06-10  本文已影响347人  Gasxia

在编写代码时,有些代码语句是固定的,如

for i in range(10):
    ...

这其中的for in :就是固定的,在考虑编码效率问题时,就可以考虑如何让IDE自动生成这些固定的代码,只输入根据上下文变化的代码。就可以提高效率。

一、Pycharm Live Templates 简介

Live templates 是Pycharm中内置的一个功能,它可以让你快速、有效、精确的插入常用的(pycharm已经配置好的)和自定义的代码构造语句。

在Pycharm中已经内置好了很多常用的代码构造段,在输入代码时按下⌘J,就可以看到现有基于当前编辑文件后缀匹配的语言的代码构造段。

⌘J后 Live Templates弹窗
左边是代码段的缩写,右边是说明。
确定输入一个代码段后便会插入到当前编辑的文件。

二、 创建或修改Live Templates

操作的位置是在Settings/Preferences对话框中的Live Templates标签页里。

创建或修改Live Templates

三、 代码构造段的种类

Simple live templates

Simple templates 包含着一些固定的纯文本代码,会自动插入到源代码中。

Parameterized live templates

Parameterized templates 包含纯文本代码和用户可以输入的变量位置。
在模版代码扩展后,变量位置就像Html Input控件一样可以输入,或者可以根据上下文由Pycharm读取模版代码的配置自动计算后填入。

Surround live templates

Surround templates仅在选中代码后工作。可以给选中的代码外围包括些固定代码。

四、 Live templates 中的变量

变量在这里的表达的形式是$<var_name>$
主要有三个作用:

  1. 占位
  2. 由配置的方法根据上下文自动替换
  3. pycharm保留名称$SELECTION$ $END$

更抽象一点说,其功能都是占位作用,等待着被某种方式的输入替换。
第一个就是被用户输入给替换掉。
第二个是由Pycharm提供的内置方法的返回值替换。
如下

Item Description
camelCase(String) Returns the string passed as a parameter, converted to camel case. For example, my-text-file/my text file/my_text_file will be converted to myTextFile
capitalize(String) Capitalizes the first letter of the name passed as a parameter.
... ...

具体见list of predefined functions

第三个中$SELECTION$是会被选中的代码给替换掉。$END$指代码构造段最后结束转交给用户输入的地方。

# main 
if __name__ == '__main__':
    $END$

五、 参考链接

PyCharm 2017.1 Help Live Templates

上一篇 下一篇

猜你喜欢

热点阅读