如何让Sublime Text自动选择自定义构建系统?

时间:2014-10-21 17:40:32

标签: c++ c++11 sublimetext3

有一些文档解释了如何使用C++11编写自定义构建系统进行编译。 Rigth现在我能够编译C++11代码,但我必须从Tools->Build System菜单中选择构建系统。

在那之前(当我只使用Python和C ++ 98工作时)我使用刚刚选择Tools->Build System->Automatic并且我能够编译(在Python的情况下运行)只需按 Ctrl + B

我希望Sublime Text自动使用我的C++11自定义构建系统而不是默认的C++。有一些方法可以实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

对不起,我会发表评论,但我没有足够的声誉。但这有点像你想要的吗?

How to create a shortcut for user's build system in Sublime Text?

编辑: (谢谢Roger Fan)

表示(如果链接死亡):

AFAIK,没有通过键绑定传递当前文件名的方法,并且不可能使用键绑定来指定某个构建系统。因此,编写Python脚本是必要的。

只有三个步骤。

<强> 1 即可。将以下内容保存到/Data/Package/User/compile_with_xelatex.py

    import sublime, sublime_plugin

    class CompileWithXelatexCommand(sublime_plugin.TextCommand):
      def run(self, edit):
        self.view.window().run_command('exec', {'cmd': ["xelatex.exe","-synctex=1","-interaction=nonstopmode", self.view.file_name()[:-4]]})

<强> 2 即可。在/Data/Packages/User/Default(<your-plat>).sublime-keymap

添加一行

{"keys": ["f1"], "command": "compile_with_xelatex"},

第3 即可。使用Sublime Text打开LaTeX源文件,然后按F1以使用XeLaTeX编译它。

确实,它有点棘手,但它对我来说就像是一种魅力。

答案 1 :(得分:0)

我找到了一种方法:

只需获取C++11构建系统文件并将其命名为:~/.config/sublime-text-3/Packages/C++/C++.sublime-build

这样,每次检测到C ++语法时,它都会自动编译(如果选择了Tools-&gt; Build System-&gt; Automatic)。

对于那些想要选择C ++ 11或C ++ 98或其他任何选项的人,可以按照JeremyCraig发布的链接:How to create a shortcut for user's build system in Sublime Text?