2017-03-12 6 views
0

同じ名前と拡張子を持つ複数の子ファイルとフォルダを作成するコマンドを作成できますか?私は、「デスクトップヘッダ」の名前でコマンドおよびタイプを開くであろうたとえば崇高なテキスト:1つのコマンドで複数の子ファイルを含むフォルダを作成する

結果は(フォルダ)

  • 以下作成さ

    デスクトップヘッダであろうdesktop-header.js

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

私はBEMに従っており、すべてのブロックを手動で作成する必要があります。

答えがあるかどうかを調べるにはどうすればよいかわかりません。

ありがとうございました!

答えて

2

はい、aコマンドに任意のPythonコードを書くことができます。 ツール>開発者>新規プラグイン...を選択し、次のコードを貼り付けてください。これにより、現在のビューから3つのファイルを含むフォルダが作成されます。

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

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) 

はその後、このようなキーバインドを作成します

関連する問題