【问题标题】:Sublime Text: Create a folder with multiple children files with one commandSublime Text:使用一个命令创建一个包含多个子文件的文件夹
【发布时间】:2017-03-12 19:22:08
【问题描述】:

是否可以创建一个命令来创建一个文件夹和多个具有相同名称和不同扩展名的子文件?

例如,我会打开命令并输入名称“desktop-header”

结果将是创建以下内容

桌面标题(文件夹)

  • desktop-header.js
  • desktop-header.php
  • _desktop-header.sass

我一直关注BEM,最终需要手动创建所有块。

我什至不确定要搜索什么来看看是否有答案。

谢谢!

【问题讨论】:

    标签: macros sublimetext2 sublimetext3 sublimetext


    【解决方案1】:

    是的,您可以在 a 命令中编写任意 python 代码。只需选择 Tools > Developer > New Plugin... 并粘贴以下代码。这将创建一个文件夹,其中包含 3 个文件,相对于当前视图。

    import os
    
    import sublime
    import sublime_plugin
    
    
    class CreateBemFilesCommand(sublime_plugin.WindowCommand):
        def run(self):
            window = self.window
            view_path = window.active_view().file_name()
            if not view_path:
                sublime.error_message("Save your file first.")
                return
            base_folder_path, _ = os.path.split(view_path)
    
            def on_done(name):
                folder_path = os.path.join(base_folder_path, name)
                # add your file names
                file_names = [
                    name + ".js",
                    name + ".php",
                    "_" + name + ".sass"
                ]
                file_paths = [
                    os.path.join(folder_path, file_name)
                    for file_name in file_names
                ]
                # create the folder
                os.makedirs(folder_path, exist_ok=True)
                # create the files
                for file_path in file_paths:
                    with open(file_path, "a"):
                        pass
                    # open the files in Sublime Text
                    window.open_file(file_path)
    
            window.show_input_panel(
                "Input the folder name", "", on_done, None, None)
    

    然后像这样创建一个键绑定:

    {
        "keys": ["alt+shift+b"],
        "command": "create_bem_files",
    },
    

    【讨论】:

      猜你喜欢
      • 2014-12-11
      • 2018-08-09
      • 2022-10-15
      • 1970-01-01
      • 2016-10-23
      • 2020-05-02
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      相关资源
      最近更新 更多