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

Make命令

来自make目标的自动命令。

标签 make命令面板

详细信息

安装次数

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

README

源代码
bitbucket.​org

MakeCommands

概览

如果您已安装此包,则会自动从Makefile的目标创建sublime-commands。

动机

我主要使用makefile,并且习惯于使用vim的:make命令,您可以选择传递一个目标。所以您可以运行:make test或:make deploy,或者是您有的任何目标。

此包使得目标作为sublime命令可用,这样您就可以从命令面板中运行它们。

默认行为

如果您正在编辑一个文件,该文件在同一或更高级别的目录结构中具有Makefile,那么从它中自动提供的target将被作为命令使用。如果有一个"test"目标,则将创建命令":make test"。

如何处理Makefile

通常,所有仅包含字符、数字、"_"或"-"的target都被作为target提供。

从您的makefile中可能产生了过多的target,而您只使用了一部分目标。在这种情况下,您可以创建一个特殊的target .SUBLIME_TARGETS,并列出您想要从Sublime Text中访问的目标。

.SUBLIME_TARGETS: all deploy test

此示例中只将targets all, deploy和test作为命令提供,不管您的Makefile中有哪些target。

有一个特殊的将target编写为,可以具有输入并且总是作为sublime-target显示,即使它们不是.SUBLIME_TARGETS的一部分。

制定此机制的初步动机是在嵌套仓库的根目录中进行整体提交,即使是在子仓库中编辑文件。

首先查看以下targets

sublime.hg-status:
    hg status

sublime.hg-commit.in-commit_message:
    hg commit -m "$(SUBLIME_INPUT_commit_message)"

sublime.hg-add.in-file:
    if [ -z $(SUBLIME_INPUT_file)] ; then \
        cd $(dirname $(SUBLIME_FILENAME)) ; \
        hg add $(SUBLIME_FILENAME) ; \
    else \
        cd $(dirname $(SUBLIME_INPUT_file)) ; \
        hg add $(SUBLIME_INPUT_file) ;\
    fi
sublime.hg-status
此目标将在命令面板中显示为:make hg-status,并显示Makefile所在的仓库状态。
sublime.hg-commit.in-commit_message
此目标在命令面板中表示为:make hg-commit,首先打开输入面板并要求输入commit_message,然后使用SUBLIME_INPUT_commit_message make变量设置运行目标。
sublime.hg-add.in-file

这个目标通过命令面板中的:make hg-add 来表示,并会请求一个文件。如果没有给出文件路径,将使用make变量SUBLIME_FILENAME所表示的视图文件名;否则,将使用输入的文件路径,并相对于Makefile进行解析。

最终,代表最终文件路径的文件将被添加到最近的存储库中。

因此,很容易请求交互式输入,您以后可以在make配方中使用。

安装

下载包控制,并从命令面板中使用包控制:安装包命令。在Windows和Linux上,通过按ctrl+shift+p打开;在Mac上,按cmd+shift+p。

一旦运行包控制:安装包,将打开一个包含包的列表。输入MakeCommands并按回车。

配置

以下是配置设置的快速概述。

设置 类型 默认值
make_commands_makefiles 字符串或列表 []
make_commands_makefile_pattern 字符串 "/Makefile$"
make_commands_stop_at_opened_folders 布尔值
make_commands_find_parent_makefile 布尔值
make_commands_search_in_opened_folders 布尔值
make_commands_command_caption_format 布尔值
make_commands_make_command 字符串 "make"
make_commands_debug 布尔值

make_commands_makefiles

可以是单个makefile或makefile的列表。您可以使用绝对路径,或者路径将相对于当前窗口中打开的一个文件夹(项目文件夹)进行解析。

单个makefile的示例

{
    make_commands_makefiles: "foo.mak"
}

makefile列表的示例

{
    make_commands_makefiles: ["foo.mak", "path/to/bar.mak", "/path/to/Makefile"]
}

make_commands_makefile_pattern

与这个模式匹配的文件路径被视为Makefile。

如果您还想让:file:`*.mak`被认为是一种,则可以指定

{
    make_commands_makefile_pattern: "/Makefile$|\.mak$"
}

make_commands_stop_at_opened_folders

如果启用了make_commands_find_parent_makefile,此开关指定是否在当前窗口中打开的文件夹的目录级别停止查找Makefile。

make_commands_find_parent_makefile

如果启用了此设置,将尝试在当前视图中文件所在的文件夹的父文件夹中查找符合make_commands_makefile_pattern的makefile。根据make_commands_stop_at_opened_folders设置,如果在当前窗口中打开了文件夹,则停止在文件夹中查找。

make_commands_search_in_opened_folders

如果启用了此设置,将在打开的文件夹中查找符合make_commands_makefile_pattern的makefile。

make_commands_command_caption_format

这指定了您的命令标题应如何显示。默认为

":make %(target)s"

make_commands_make_command

这指定了您的make命令。默认为make。

make_commands_debug

此开关启用控制台面板的调试输出。

许可证

您可以在简化版BSD许可证下使用此软件

版权(c)2013,Kay-Uwe (Kiwi) Lorenz 版权所有。

重新分发和使用源代码和二进制形式,是否修改,只要满足以下条件即可

  • 源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。
  • 二进制形式的重新分发必须产生上述版权声明、本条件列表和以下免责声明,在随分发提供的文档或其它资料中。

本软件由版权所有者和贡献者提供,“现状”并且不承担任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示性保证。在任何情况下,版权所有者或贡献者均不对因使用本软件而产生的任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,即使已被告知此类损害的可能性。

捐赠

如果您想支持这项工作,您可以通过通过PayPal捐赠一些钱,或者从我亚马逊愿望清单中为我购买一些东西