Last active
August 5, 2019 07:22
-
-
Save changbowen/12de0aeb14b951493eefc8f34b1ca7a2 to your computer and use it in GitHub Desktop.
Python live templates for PyCharm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<templateSet group="Python"> | |
<template name="for" value="for $VAR$ in $ITERABLE$: $END$" description="Iterate (for ... in ...)" toReformat="false" toShortenFQNames="true"> | |
<variable name="ITERABLE" expression="pyIterableVariable()" defaultValue=""iterable"" alwaysStopAt="true" /> | |
<variable name="VAR" expression="collectionElementName(ITERABLE)" defaultValue=""item"" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="fori" value="for $INDEX$, $VAR$ in enumerate($ITERABLE$): $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=""i"" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="class" value="class $class$($object$): def __init__(self, $args$): $END$ " description="Python Class Template" toReformat="false" toShortenFQNames="true"> | |
<variable name="class" expression="" defaultValue="" alwaysStopAt="true" /> | |
<variable name="object" expression="" defaultValue=""object"" alwaysStopAt="true" /> | |
<variable name="args" expression="" defaultValue="" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="classd" value="class $class$($object$): """$cls_doc$""" def __init__(self, $args$): """Constructor for $class$""" $END$ " description="Python Class Template" toReformat="false" toShortenFQNames="true"> | |
<variable name="class" expression="" defaultValue="" alwaysStopAt="true" /> | |
<variable name="object" expression="" defaultValue=""object"" 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$): """$doc$""" $END$ " 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$) -> $return_type$: return$END$" description="function definition" toReformat="false" toShortenFQNames="true"> | |
<variable name="function_name" expression="" defaultValue=""function_name"" alwaysStopAt="true" /> | |
<variable name="args" expression="" defaultValue=""arg: str"" alwaysStopAt="true" /> | |
<variable name="return_type" expression="" defaultValue=""str"" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="se" value="self.$var$ = $var$ $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$ $END$" description="from module import name" toReformat="false" toShortenFQNames="true"> | |
<variable name="module" expression="" defaultValue=""module"" alwaysStopAt="true" /> | |
<variable name="name" expression="" defaultValue=""name"" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="pf" value="print "$string$".format($args$) $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$) $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): if argv is None: argv = sys.argv $END$ if __name__ == "__main__": main()" description="if __name__ == "__main__":" toReformat="false" toShortenFQNames="true"> | |
<context /> | |
</template> | |
<template name="fnpdoc" value="Parameters ---------- Returns ------- Raises ------" 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 ---------- Methods -------" 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$) -> $return_type$: return$END$" description="method definition" toReformat="false" toShortenFQNames="true"> | |
<variable name="function_name" expression="" defaultValue=""function_name"" alwaysStopAt="true" /> | |
<variable name="arg" expression="" defaultValue=""arg: str"" alwaysStopAt="true" /> | |
<variable name="return_type" expression="" defaultValue=""str"" 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: $statements$$END$ except ValueError as val_err: print(val_err) except $exception$ as $err$: print($error_message$) raise else: pass finally: pass" description="try structure" toReformat="false" toShortenFQNames="true"> | |
<variable name="statements" expression="" defaultValue=""statements"" alwaysStopAt="true" /> | |
<variable name="exception" expression="" defaultValue=""Exception"" alwaysStopAt="true" /> | |
<variable name="err" expression="" defaultValue=""err"" 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("$path$", "$type$") $END$ $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$: $statements_true$ else: $statements_false$" description="if-else construction" toReformat="false" toShortenFQNames="true"> | |
<variable name="condition" expression="" defaultValue=""condition"" alwaysStopAt="true" /> | |
<variable name="statements_true" expression="" defaultValue=""statements if true"" alwaysStopAt="true" /> | |
<variable name="statements_false" expression="" defaultValue=""statements if false"" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="fromas" value="from $module$ import $name$ as $alias$ $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 $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 -*- $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$): """ Args: $args$ """ $END$ " 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="""" value=""$string$".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__': import doctest doctest.testmod()" description="Doctest test mode" toReformat="false" toShortenFQNames="true"> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="ell" value="#doctest: +ELLIPSIS <$module$.$class$ object at 0x...>$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$: $statements_true$" description="if construction" toReformat="false" toShortenFQNames="true"> | |
<variable name="condition" expression="" defaultValue=""condition"" alwaysStopAt="true" /> | |
<variable name="statements_true" expression="" defaultValue=""statements if true"" alwaysStopAt="true" /> | |
<context> | |
<option name="Python" value="true" /> | |
</context> | |
</template> | |
<template name="while" value="while $expression$: $END$" description="while structure" toReformat="false" toShortenFQNames="true"> | |
<variable name="expression" expression="" defaultValue=""True"" 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