Skip to content

Instantly share code, notes, and snippets.

@changbowen
Last active August 5, 2019 07:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save changbowen/12de0aeb14b951493eefc8f34b1ca7a2 to your computer and use it in GitHub Desktop.
Save changbowen/12de0aeb14b951493eefc8f34b1ca7a2 to your computer and use it in GitHub Desktop.
Python live templates for PyCharm
<templateSet group="Python">
<template name="for" value="for $VAR$ in $ITERABLE$:&#10; $END$" description="Iterate (for ... in ...)" toReformat="false" toShortenFQNames="true">
<variable name="ITERABLE" expression="pyIterableVariable()" defaultValue="&quot;iterable&quot;" alwaysStopAt="true" />
<variable name="VAR" expression="collectionElementName(ITERABLE)" defaultValue="&quot;item&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="fori" value="for $INDEX$, $VAR$ in enumerate($ITERABLE$):&#10; $END$" description="Iterate (for ... in enumerate)" toReformat="false" toShortenFQNames="true">
<variable name="ITERABLE" expression="pyIterableVariable()" defaultValue="" alwaysStopAt="true" />
<variable name="VAR" expression="collectionElementName(ITERABLE)" defaultValue="" alwaysStopAt="true" />
<variable name="INDEX" expression="" defaultValue="&quot;i&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="class" value="class $class$($object$):&#10; &#10; def __init__(self, $args$):&#10; $END$&#10; &#10;" description="Python Class Template" toReformat="false" toShortenFQNames="true">
<variable name="class" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="object" expression="" defaultValue="&quot;object&quot;" alwaysStopAt="true" />
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="classd" value="class $class$($object$):&#10; &quot;&quot;&quot;$cls_doc$&quot;&quot;&quot;&#10; &#10; def __init__(self, $args$):&#10; &quot;&quot;&quot;Constructor for $class$&quot;&quot;&quot;&#10; $END$&#10; &#10;" description="Python Class Template" toReformat="false" toShortenFQNames="true">
<variable name="class" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="object" expression="" defaultValue="&quot;object&quot;" alwaysStopAt="true" />
<variable name="cls_doc" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="init" value="def __init__(self, $args$):&#10; &quot;&quot;&quot;$doc$&quot;&quot;&quot;&#10; $END$&#10; " description="init function" toReformat="false" toShortenFQNames="true">
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="doc" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="def" value="def $function_name$($args$) -&gt; $return_type$:&#10; return$END$" description="function definition" toReformat="false" toShortenFQNames="true">
<variable name="function_name" expression="" defaultValue="&quot;function_name&quot;" alwaysStopAt="true" />
<variable name="args" expression="" defaultValue="&quot;arg: str&quot;" alwaysStopAt="true" />
<variable name="return_type" expression="" defaultValue="&quot;str&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="se" value="self.$var$ = $var$&#10;$END$" description="set instance variable" toReformat="false" toShortenFQNames="true">
<variable name="var" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="from" value="from $module$ import $name$&#10;$END$" description="from module import name" toReformat="false" toShortenFQNames="true">
<variable name="module" expression="" defaultValue="&quot;module&quot;" alwaysStopAt="true" />
<variable name="name" expression="" defaultValue="&quot;name&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="pf" value="print &quot;$string$&quot;.format($args$)&#10;$END$" description="print formatted string" toReformat="false" toShortenFQNames="true">
<variable name="string" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="prop" value="$property$ = property(get_$property$, set_$property$)&#10;$END$" description="property" toReformat="false" toShortenFQNames="true">
<variable name="property" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="main" value="def main(argv):&#10; if argv is None:&#10; argv = sys.argv&#10; $END$&#10;&#10;if __name__ == &quot;__main__&quot;:&#10; main()" description="if __name__ == &quot;__main__&quot;:" toReformat="false" toShortenFQNames="true">
<context />
</template>
<template name="fnpdoc" value="Parameters&#10;----------&#10;&#10;&#10;Returns&#10;-------&#10;&#10;&#10;Raises&#10;------" description="Inserts Numpydoc params/returns for a function" toReformat="false" toShortenFQNames="true">
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="cnpdoc" value="Attributes&#10;----------&#10;&#10;&#10;Methods&#10;-------" description="Inserts Numpydoc attributes for a class" toReformat="false" toShortenFQNames="true">
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="map" value="map(lambda $value$: $END$, $object$)" description="map" toReformat="false" toShortenFQNames="true">
<variable name="value" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="object" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="lam" value="lambda $args$: $END$ " description="definition lambda" toReformat="false" toShortenFQNames="true">
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="defm" value="def $function_name$(self, $arg$) -&gt; $return_type$:&#10; return$END$" description="method definition" toReformat="false" toShortenFQNames="true">
<variable name="function_name" expression="" defaultValue="&quot;function_name&quot;" alwaysStopAt="true" />
<variable name="arg" expression="" defaultValue="&quot;arg: str&quot;" alwaysStopAt="true" />
<variable name="return_type" expression="" defaultValue="&quot;str&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="fil" value="filter($func$, $object$) " description="definition filter" toReformat="false" toShortenFQNames="true">
<variable name="func" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="object" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="try" value="try:&#10; $statements$$END$&#10;except ValueError as val_err:&#10; print(val_err)&#10;except $exception$ as $err$:&#10; print($error_message$)&#10; raise&#10;else:&#10; pass&#10;finally:&#10; pass" description="try structure" toReformat="false" toShortenFQNames="true">
<variable name="statements" expression="" defaultValue="&quot;statements&quot;" alwaysStopAt="true" />
<variable name="exception" expression="" defaultValue="&quot;Exception&quot;" alwaysStopAt="true" />
<variable name="err" expression="" defaultValue="&quot;err&quot;" alwaysStopAt="true" />
<variable name="error_message" expression="" defaultValue="err" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="file" value="$name$ = file(&quot;$path$&quot;, &quot;$type$&quot;)&#10;$END$&#10;$name$.close()" description="file open" toReformat="false" toShortenFQNames="true">
<variable name="name" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="path" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="type" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="ifelse" value="if $condition$:&#10; $statements_true$&#10;else:&#10; $statements_false$" description="if-else construction" toReformat="false" toShortenFQNames="true">
<variable name="condition" expression="" defaultValue="&quot;condition&quot;" alwaysStopAt="true" />
<variable name="statements_true" expression="" defaultValue="&quot;statements if true&quot;" alwaysStopAt="true" />
<variable name="statements_false" expression="" defaultValue="&quot;statements if false&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="fromas" value="from $module$ import $name$ as $alias$&#10;$END$" description="from module import name as alias" toReformat="false" toShortenFQNames="true">
<variable name="module" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="name" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="alias" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="!env" value="#!/usr/bin/env python&#10;$END$" description="#!/usr/bin/env python" toReformat="false" toShortenFQNames="true">
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="enc" value="# -*- coding: utf-8 -*-&#10;$END$" description="encoding header" toReformat="false" toShortenFQNames="true">
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="test" value="def test_$fnname$(self, $args$):&#10; &quot;&quot;&quot; &#10; Args: $args$ &#10; &quot;&quot;&quot; &#10; $END$&#10; " description="utest function definition" toReformat="false" toShortenFQNames="true">
<variable name="fnname" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="&quot;&quot;" value="&quot;$string$&quot;.format($args$)$END$" description="formatted string" toReformat="false" toShortenFQNames="true">
<variable name="string" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="pdb" value="import pdb; pdb.set_trace()$END$" description="import pdb" toReformat="false" toShortenFQNames="true">
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="ipdb" value="import ipdb; ipdb.set_trace()$END$" description="import ipdb" toReformat="false" toShortenFQNames="true">
<context>
<option name="Django" value="true" />
<option name="Python" value="true" />
</context>
</template>
<template name="testmod" value="if __name__ == '__main__':&#10; import doctest&#10; doctest.testmod()" description="Doctest test mode" toReformat="false" toShortenFQNames="true">
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="ell" value="#doctest: +ELLIPSIS&#10;&lt;$module$.$class$ object at 0x...&gt;$END$" description="DocTest Ellipsis" toReformat="true" toShortenFQNames="true">
<variable name="module" expression="" defaultValue="" alwaysStopAt="true" />
<variable name="class" expression="" defaultValue="" alwaysStopAt="true" />
<context>
<option name="CSS" value="false" />
<option name="HAML" value="false" />
<option name="HTML" value="false" />
<option name="JAVA_SCRIPT" value="false" />
<option name="JSON" value="false" />
<option name="OTHER" value="true" />
<option name="SQL" value="false" />
<option name="XML" value="false" />
</context>
</template>
<template name="if" value="if $condition$:&#10; $statements_true$" description="if construction" toReformat="false" toShortenFQNames="true">
<variable name="condition" expression="" defaultValue="&quot;condition&quot;" alwaysStopAt="true" />
<variable name="statements_true" expression="" defaultValue="&quot;statements if true&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
<template name="while" value="while $expression$:&#10; $END$" description="while structure" toReformat="false" toShortenFQNames="true">
<variable name="expression" expression="" defaultValue="&quot;True&quot;" alwaysStopAt="true" />
<context>
<option name="Python" value="true" />
</context>
</template>
</templateSet>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment