ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

ProjectMaker

bit101 所有

一个 Sublime Text 2/3 插件,允许您从自己定制的模板创建任何类型的项目

详情

  • 0.1.3
  • github.com
  • github.com
  • 4 年前
  • 1 小时前
  • 12 年前

安装次数

  • 总计 7K
  • Win 3K
  • Mac 2K
  • Linux 2K
2023年8月7日 2023年8月6日 2023年8月5日 2023年8月4日 2023年8月3日 2023年8月2日 2023年8月1日 2023年7月31日 2023年7月30日 2023年7月29日 2023年7月28日 2023年7月27日 2023年7月26日 2023年7月25日 2023年7月24日 2023年7月23日 2023年7月22日 2023年7月21日 2023年7月20日 2023年7月19日 2023年7月18日 2023年7月17日 2023年7月16日 2023年7月15日 2023年7月14日 2023年7月13日 2023年7月12日 2023年7月11日 2023年7月10日 2023年7月9日 2023年7月8日 2023年7月7日 2023年7月6日 2023年7月5日 2023年7月4日 2023年7月3日 2023年7月2日 2023年7月1日 2023年6月30日 2023年6月29日 2023年6月28日 2023年6月27日 2023年6月26日 2023年6月25日 2023年6月24日
Windows 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
Mac 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0

README

源代码
raw.githubusercontent.com

ProjectMaker

A Sublime Text 3 插件,允许您从自己定制的模板创建任何类型的项目。注意,现在它既适用于 ST2 也适用于 ST3!感谢 Daniel Shannon 的这项工作。

安装

通过 Package Control

  1. http://wbond.net/sublime_packages/package_control 安装 Package Control

  2. 在 Package Control 中,查找 ProjectMaker 并安装。

手动

将此项目克隆或下载到 Sublime Text 2 或 3 的 Packages 文件夹中名为“ProjectMaker”的文件夹中。如果您不确定您的 Packages 文件夹在哪里,使用菜单 首选项/浏览包...

用法

从项目菜单中选择“创建项目”,或使用快捷键 Ctrl-Shift-N 调用项目制作命令。

调用命令将显示一个快速面板,列出可用的模板。

选择基于该模板的项目。

您将被提示输入新项目的路径。这样做。

您将被提示输入任何模板文件或文件名中可替换令牌的值。输入您想要使用的值。

新创建的项目文件夹将在系统文件管理器中打开。

创建和修改模板

模板只是包含任何数量和类型的文件以及任何嵌套的文件文件夹的文件夹。

在 Sample-Templates 目录中有一些示例模板。您可以将它们复制到您的模板目录中以使用它们。

默认情况下,模板会在您的主目录中名为 ProjectMakerTemplates 的文件夹中查找。您需要创建此文件夹并将模板添加到其中。如果不存在 ProjectMakerTemplates,则使用插件目录中的 Sample-Templates 文件夹。

或者,您可以在设置中添加一个“template_path”属性来告诉 ProjectMaker 查找模板的位置。这在“设置”部分中有所描述,其形式如下:{ “template_path”: “path/to/your/templates/” }

还有一个其他仓库,https://github.com/bit101/ProjectMaker-templates,将用于托管其他用户创建的附加模板。

令牌

模板中的文本文件可以包含可替换的令牌,形式为 ${token_name}。当您创建新项目时,您将为每个找到的令牌提示输入值。相同的令牌可以在多个文件中多次使用。您将只会提示一次其值。

示例

Hello from ${user_name}

当为 user_name 令牌提供一个 Keith 的值时,将变为

Hello from Keith

令牌化的文件名

模板文件名也可以使用以下形式进行令牌化:_token_name_.ext。前面的下划线、令牌名称和后续的下划线将被给定的值替换。

示例

/foo/bar/baz/_info_file_.text

当为 info_file 令牌提供一个 data 的值时,将变为

/foo/bar/baz/data.text

预定义令牌

有三个预定义令牌

${project_path} 在文本文件中将替换为新项目目录的绝对路径。这将在 Windows 上始终使用正斜杠(“/”)作为路径分隔符。Windows 通常使用正斜杠或反斜杠。

${project_path_escaped}${project_path} 相同,但在 Windows 上,将使用双反斜杠(“\”)来分隔路径。

${project_name} 在文本文件中或作为文件名 _project_name_ 将替换为项目目录的基本名称。

示例

项目路径是 /foo/bar/baz/MyProject/

project_path 将替换为 /foo/bar/baz/MyProject/

project_path_escaped 在苹果操作系统或 Linux 上与 project_path 相同,但在 Windows 上将为 c:\\foo\\bar\\baz\\MyProject\\

project_name 将替换为 MyProject

设置

您可以通过菜单 首选项 / 包设置 / 项目构造器 访问 ProjectMaker 设置,然后 设置 - 默认设置 - 用户。通常,您应该保留默认设置不变,并将自己的设置添加到用户设置中。

可用的设置包括

non_parsed_ext 这是一个不会进行令牌替换分析的文件扩展名列表。与这些扩展名匹配的文件仍然会被复制到您的项目中。

non_parsed_files 这是一个不会进行令牌替换分析的单独文件名列表。目前这包括 build.xml,因为 Ant 构建文件通常具有与 ProjectMaker 令牌相同的格式,ProjectMaker 将尝试替换这些文件。与这些非分析文件名匹配的文件仍然会被复制到新项目中。

template_path 如上所述。这是 ProjectMaker 将查找您的模板的位置。最好将其设置为 ProjectMaker 目录之外的位置,以便更新/升级/重新安装时不会删除或覆盖您的模板。如果没有设置,则默认为 ~/ProjectMakerTemplates

project_files_folder 这是 ProjectMaker 将保存自动生成的 .sublime-project 文件的位置。默认情况下,这是项目路径。请注意,如果您的模板包括其自己的 .sublime-project 文件,它将按常规复制,此设置将不会产生影响。

default_project_path 这是在 ProjectMaker 请求项目位置时默认显示的路径。默认为 ~/project_name

Sublime 项目文件

如果选择的模板在顶层有 .sublime-project 文件,该文件将被复制并像模板中的任何其他文件一样处理。但是,如果不存在,将使用 project_name 令牌作为基本名称创建一个默认的 .sublime-project 文件。

忽略的文件

很明显,你不希望在二进制文件中进行令牌替换。插件在执行令牌替换时将忽略一系列的文件类型。如果你模板中的任何文件导致问题,你可以始终添加自己的文件。列表包含在 ProjectMaker.sublime-settings 文件中。请注意,这些文件 被复制到项目中。这些文件只是不会解析为令牌。

自动文件下载和其他任务

Todd Anderson (http://custardbelly.com/blog/) 创建了一个额外的配置功能,我已经将其添加到项目中。这允许在创建项目之后运行额外功能以执行更多任务。

它能执行的任务之一是下载文件并将它们添加到你的项目中。如果你希望每个创建的项目都有一个特定库(如 jQuery)的最新版本,这很有用。待下载的文件由模板中的 config.json 文件定义。你可以在 AppRequire.js 模板中看到它是如何工作的。已知的错误:在 Linux 下,因为 Linux 下 Sublime Text 中的 Python 版本不包括 ssl 模块(原因我不太清楚),文件任务将会失败。

请注意,如果你的模板中没有 config.json 文件,此步骤将被忽略。可以按照当前的例子创建额外的任务。因此,它有点像是插件的插件。