为Enthought Canopy创建模板文件

时间:2013-11-06 09:11:54

标签: python enthought canopy

我目前正在使用由Enthought制作的应用程序Canopy,我要求我制作的每个文件都必须在顶部包含一条评论,说明作者是谁,创建文件的时间以及上次编辑的时间。< / p>

我想知道是否有一种方法,当我在Canopy中创建一个新文件(特别是一个python文件)时,它可以在顶部自动填充包含此信息的文件。同样,如果我在保存文件后重新打开文件,或者在每次新保存时,它会自动使用新的日期时间戳更新注释的相关最后编辑部分。

我已被Enthought应用程序告知我将问题提交给Stackoverflow,所以我希望它是合适的。

1 个答案:

答案 0 :(得分:2)

是的,这是提问的最佳位置。

canopy的方式允许你这样做,许多其他类似的定制是通过使用宏录制器。打开天篷,选择工具&gt;记录宏。输入该宏的名称,例如new_file_with_header。然后单击代码编辑器,ctrl-ncmd-n创建一个新文件,并在顶部键入您想要的任何内容。然后,工具&gt;停止宏录制,然后工具&gt;编辑宏。你应该找到你创建的新的,并且双击它应该显示执行它时将运行的代码。我只是写了# Hello world并得到了:

# -*- coding: utf-8 -*-

def run():
    code_task = get_active_task()
    code_task.new_file(factory_id='canopy.editor.code_editor', editor_type='Python')
    code_editor = code_task.active_editor
    cursor = code_editor.cursor
    cursor.write(u'# Hello world')
    code_editor.autoindent_newline()

好消息是这是普通的python,所以如果你想添加今天的日期,你可以修改它类似于:

# -*- coding: utf-8 -*-
import datetime
def run():
    code_task = get_active_task()
    code_task.new_file(factory_id='canopy.editor.code_editor', editor_type='Python')
    code_editor = code_task.active_editor
    cursor = code_editor.cursor
    cursor.write(u'# Hello world %s' % datetime.datetime.now().strftime("%H-%M-%S"))
    code_editor.autoindent_newline()

最终,指定一个尚未使用的键绑定,然后离开。