• sublime text 插件 -- 获取文件名到剪贴板


      日常开发使用 sublime text 有好长一段时间了,有时候想拷贝当前正在编辑的文件名时发现没有很快捷的方法,一般都是先点击右键菜单栏中的 Reveal in Side Bar 对文件进行定位(在左侧菜单栏中打开文件所在的目录树),然后对在左侧显示的该文件右键点击 Rename,在底部的文件名编辑框中复制到剪贴板。这个过程虽然说不上繁琐,但实在不太方便,毕竟这两三个步骤加起来也有好几秒了,在日常开发中被挤占掉的时间可不少。

      注意到 sublime 右键有个 Copy File Path 的功能后,我在想能不能写个 Copy File Name 的插件呢?于是今天在网上了解了一下 sublime 插件开发相关的资料文档,便着手开干。首先在 sublime 的 Packages 目录(可通过 sublime 的 Preferences -> Browse Packages... 打开)下建一个目录,名称随意,如 MyPlugins:

      然后在 MyPlugins 里建一个 python 文件(我试了下,sublime 会自动加载 Packages 目录下所有的 python 文件,每个文件里只要按相关规范编写的类都会被自动加载为各种命令,也就是各种插件/功能),如 copy_file_name.py,因为只需要拷贝当前编辑的文件名称到剪贴板,所以短短几行代码:

    import sublime
    import sublime_plugin
    import os
    
    
    class copyfilenameCommand(sublime_plugin.TextCommand):
    
        def run(self, edit):
            file_name = self.view.file_name()
            base_name = os.path.basename(file_name)
            sublime.set_clipboard(base_name)
            # print('get_clipboard: ' + sublime.get_clipboard())
    copy_file_name.py

      即可实现该功能。通过 ctrl + ` 打开 sublime 的控制台进行测试,在控制下输入 view.run_command('copyfilename'):

      然后在别的地方 ctrl + v 粘贴一下,会发现粘贴出来的东西就是 sublime 当前正在编辑的文件名。基本功能弄好了,当然要为它添加菜单栏和快捷键什么的,首先是右键的菜单栏,同样在 MyPlugins 目录下新增一个 Context.sublime-menu 文件,输入如下内容(caption 为菜单栏的名称,command 为实际执行的命令):

    [
        { "caption": "Copy File BaseName",  "command": "copyfilename" }
    ]
    Context.sublime-menu

      保存后即可在右键菜单栏中看到 Copy File BaseName 这一项 ^0^(因为使用的是 ubuntu 电脑,这个操作不方便截图~),当然也可以添加快捷键之类的,不过我觉得在菜单栏里已经足够高效,就没做这个了。哈哈,以后拷贝文件名称就简单多了,一步到位,再也不用像以前那样 Reveal in Side Bar -> Rename -> 复制 这么繁琐了~~

      sublime text 是个漂亮又强大的开发工具,值得花时间去折腾。

  • 相关阅读:
    ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
    $.ajax
    C#使用RabbitMQ
    WebAPI+NLog实现接口调用日志输出
    Spire.Doc组件读取与写入Word
    .net中RabbitMQ生产者/消费者
    第2课
    第1课
    详解usbmon抓取的log各字段的含义
    使用 usbmon 抓取 usb 总线上的数据
  • 原文地址:https://www.cnblogs.com/Newdawn/p/9461025.html
Copyright © 2020-2023  润新知