【问题标题】:Creating template files for Enthought Canopy为 Enthought Canopy 创建模板文件
【发布时间】:2013-11-06 09:11:54
【问题描述】:

我目前正在使用 Enthought 制作的应用程序 Canopy,我要求我制作的每个文件都必须在顶部包含一个注释,说明作者是谁、文件的创建时间和最后一次编辑的时间。

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

Enthought 应用程序已建议我将我的问题提交给 Stackoverflow,因此我希望它是适当的。

【问题讨论】:

    标签: python enthought canopy


    【解决方案1】:

    是的,这是提问的正确地方。

    canopy 允许您执行此操作以及许多其他类似自定义的方式是使用宏记录器。打开机盖,选择工具 > 录制宏。键入该宏的名称,例如 new_file_with_header。然后在代码编辑器中单击,然后单击 ctrl-ncmd-n 创建一个新文件并在顶部键入您想要的任何内容。然后,工具 > 停止宏录制,然后工具 > 编辑宏。您应该找到您创建的新代码,双击它应该会显示执行它时它将运行的代码。我只写了# 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()
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      相关资源
      最近更新 更多