我目前正在使用由Enthought制作的应用程序Canopy,我要求我制作的每个文件都必须在顶部包含一条评论,说明作者是谁,创建文件的时间以及上次编辑的时间。< / p>
我想知道是否有一种方法,当我在Canopy中创建一个新文件(特别是一个python文件)时,它可以在顶部自动填充包含此信息的文件。同样,如果我在保存文件后重新打开文件,或者在每次新保存时,它会自动使用新的日期时间戳更新注释的相关最后编辑部分。
我已被Enthought应用程序告知我将问题提交给Stackoverflow,所以我希望它是合适的。
答案 0 :(得分:2)
是的,这是提问的最佳位置。
canopy的方式允许你这样做,许多其他类似的定制是通过使用宏录制器。打开天篷,选择工具&gt;记录宏。输入该宏的名称,例如new_file_with_header
。然后单击代码编辑器,ctrl-n
或cmd-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()
最终,指定一个尚未使用的键绑定,然后离开。