首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >崇高的文本2插件进入自动许可评论行与特定的格式

崇高的文本2插件进入自动许可评论行与特定的格式
EN

Stack Overflow用户
提问于 2013-03-29 19:01:16
回答 1查看 1.4K关注 0票数 1

我试图在崇高文本2中设置一个片段,它将扩展到以下内容:

代码语言:javascript
运行
复制
/**
* @version   $Id: ${1:current_file_name.extension} ${2:random_4_digit_number} ${3:YYYY-MM-DD} ${4:time_in_UTC_24} ${5:current_logged-in_user} $
* @author    Company http://example.com
* @copyright Copyright (C) 2007 - ${6:current_year} Company
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

上面的片段有游标停止。如果所有数据都可以自动化,那么我就不需要任何游标停止。

停站图如下:

${1:current_file_name.extension}

自动粘贴正在编辑的当前文件的名称。

${2:random_4_digit_number}

随机生成的号码,从0000到9999。

${3:YYYY-MM-DD}

使用-分隔符的当前日期。

${4:time_in_UTC_24}

当前时间为UTC 24小时格式,包括使用:分隔符的秒数.

${5:current_logged-in_user}

当前登录用户

${6:current_year}

本年度

如有任何建议或帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-29 21:37:26

也许用一个片段是不可能的,但是我写了一个插件来实现你想要的。在“崇高”中,单击“工具”>“新插件”。用以下代码替换示例代码。将其命名为"add_license_stamp.py“,并将其保存在您的Packages文件夹中(而不是在Packages/User中)。另外,在keymap文件中添加一个键绑定。要运行该命令,请将光标放置在您想要的位置,然后按下键绑定:

键绑定:

代码语言:javascript
运行
复制
{ "keys": ["ctrl+shift+9"], "command": "add_license_stamp" }

插件:

代码语言:javascript
运行
复制
import sublime, sublime_plugin
import os
import datetime
import random
import getpass

''' Add license stamp
/**
* @version   $Id: ${1:current_file_name.extension} ${2:random_4_digit_number} ${3:YYYY-MM-DD} ${4:time_in_UTC_24} ${5:current_logged-in_user} $
* @author    Company http://example.com
* @copyright Copyright (C) 2007 - ${6:current_year} Company
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/
'''


class AddLicenseStampCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        company_name = "BobCo"
        company_site = "http://bobco.com"

        file_path = self.view.file_name()
        file_name = os.path.basename(file_path)
        year = datetime.datetime.utcnow().strftime("%Y")
        date_time = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC")
        random_number = str(random.randrange(0000, 9999)).zfill(4)
        user = getpass.getuser()

        license = "/**\n"
        license += "* @version   $Id: " + file_name + " " + random_number + " " + date_time + " " + user + " $\n"
        license += "* @author    " + company_name + " " + company_site + "\n"
        license += "* @copyright Copyright (C) 2007 - " + year + " " + company_name + "\n"
        license += "* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only\n"
        license += "*/\n"

        self.view.replace(edit, self.view.sel()[0], license)

(注意: python在代码后面需要一个空行)

将"BobCo“替换为您的公司名称。我不确定获得当前用户名的最佳方法,我使用了以下问题:Is there a portable way to get the current username in Python?。他们说它与主要的OSes兼容。如果不做一些类似于我做公司名称的事情。并手动为每个用户设置。另外,我不知道什么是UTC 24小时格式。但我只是用了24小时的格式。

编辑

我将now()改为utcnow()以获得utc的日期/时间。我添加了日期/时间格式。我在随机数中添加了z填充(4),如果小于4位,就用零填充。您可以高亮显示当前邮票并按键绑定来更新它。您也可以得到花哨和自动替换的保存,但超出了当前的范围。您必须使用regex来找到当前的邮票。然后在保存而不是运行时激活脚本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15709753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档