是否可以创建一个命令来创建一个文件夹和多个具有相同名称和不同扩展名的子文件?
例如,我将打开命令并输入名称“desktop-header”
结果将是以下创建
desktop-header(文件夹)
我一直关注BEM并最终需要手动创建所有块。
我甚至不确定要搜索什么,看看是否有答案。
谢谢!
答案 0 :(得分:2)
是的,您可以在a命令中编写任意python代码。只需选择工具>开发人员>新插件... 并粘贴以下代码。这将创建一个文件夹,其中包含相对于当前视图的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",
},