我正在使用Sublime Text 3中的AVR包。如果我使用CMD-SHIFT-B(Build With),我可以选择Make and Make - Clean。
我想添加选项以在Make文件中执行其他部分。具体来说,我希望有一个选项Make - Avrdude来运行avrdude来编程Atmel。我可以从命令行执行此操作,但不能从Sublime执行此操作。
如何添加Build With选项?
答案 0 :(得分:1)
Sublime中的构建系统是通过sublime-build
文件定义的,这些文件是JSON格式的文件,告诉它如何执行构建。这些包括至少一个基本构建选项,可以包括0个或更多"变体"稍微修改一下命令。
用于调用make
的构建系统称为Make.sublime-build
,位于Makefile
包中。查看该文件内容的最简单方法是使用PackageResourceViewer。
默认情况下,它看起来像这样(从Sublime Build 3126开始):
{
"shell_cmd": "make",
"file_regex": "^(..[^:\n]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${folder:${project_path:${file_path}}}",
"selector": "source.makefile",
"syntax": "Packages/Makefile/Make Output.sublime-syntax",
"keyfiles": ["Makefile", "makefile"],
"variants":
[
{
"name": "Clean",
"shell_cmd": "make clean"
}
]
}
主体提供shell_cmd
以调用make
以及所需的所有其他构建选项,variants
部分允许您覆盖其中一些设置以执行不同的操作。您在变体中未覆盖的任何内容都使用基本设置。
为了添加额外的变体,您只需将它们添加到具有不同名称和要使用的命令的变体数组中。例如,我的变体部分如下所示:
"variants":
[
{
"name": "Clean",
"shell_cmd": "make clean"
},
{
"name": "Run",
"shell_cmd": "make run"
}
]
解决此问题的一种方法是覆盖默认文件。要使用PackageResourceViewer,请从命令面板(PackageResourceViewer: Open Resource
或您平台的相关密钥)中选择Tools > Command Palette
,然后选择Makefile
,然后选择Make.sublime-build
。
这将打开文件,允许您修改它。当您保存它时,您保存的文件将覆盖内置版本,这意味着无论您现在是否正在访问构建,它都将以相同的方式工作,并且您的新选项将会出现。但是,这会掩盖构建文件的任何官方更改(例如,如果Sublime的未来版本修改此文件)。
您也可以执行与上述类似的操作,而不是保存文件,而是使用Save As
并将其保存到User
包中。如果你走这条路线,你需要从Tools > Build System
菜单中手动选择你的构建来使用它。请注意,您为文件指定的名称控制着菜单中显示的名称,因此,如果您为其指定与默认名称相同的名称,则该菜单中将显示两次相同的名称。
第三个选项是将构建设置直接存储在sublime-project
文件中(如果您正在使用),在这种情况下,自定义构建仅在该项目内部可用。在这种情况下,您仍然需要手动选择构建。