sublime配置编译系统

问题的提出

在sublime中可以配置自己的编译系统,但是由于软件自带了一些编译系统,而且其配置是默认的,也就可能会出现解释器路径不对,造成错误。那么如何修改自带的编译系统配置文件呢?

sublime中自带的编译系统

除开my_c_cpp、python35以外都是系统自带的编译系统配置文件。由于我没有找到这些配置文件,所以就没办法修改它们的配置,导致编译系统选择自动时,用Ctrl+B运行python文件默认是用系统自带的,而自带的解释器路径有问题,所以就报错。

如何找到自带的编译系统配置文件

解决方案参看:https://www.jianshu.com/p/d612f8da3ffa,下面来说一下步骤吧:

安装PackageResourceViewer插件

  1. 输入Ctrl+shift+P调出命令面板
  2. 输入install
  3. 输入PackageResourceViewer进行安装

设置默认的python.sublime-build

  1. 调出命令面板
  2. 输入resource,选择PackageResourceViewer:Open Resource
  3. 再选择python,在选择Python.sublime-build。这样就可以编辑配置了

如何查看该文件路径呢?

直接将鼠标放在文件名上,会出现该文件的路径。C:\Users\C子君\AppData\Roaming\Sublime Text 3\Packages\Python。修改其它自带的配置文件类似

编译系统中选择自动是什么意思?

就是可以根据当前文件类型,按下Ctrl+B时自动选择合适的编译系统,比如我写的是python程序,那么Ctrl+B就会自己选择为python编译系统(而由于原先有两个,一个是自带的python,还有个是我自己配的python35,会默认选择python)

自动选择的机制是什么呢?

首先来看一下编译系统的配置文件参数:

{
	"shell_cmd": "D:/InitalSoftware/Anaconda3/envs/tensorflow/python.exe -u \"$file\"",
	"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
	"selector": "source.python",

	"env": {"PYTHONIOENCODING": "utf-8"},

	"variants":
	[
		{
			"name": "Syntax Check",
			"shell_cmd": "D:/InitalSoftware/Anaconda3/envs/tensorflow/python.exe -m py_compile \"${file}\"",
		}
	]
}
  • shell_cmd(自己配置的文件是cmd):编译命令(解释器路径)
  • file_regex:不了解(可百度)
  • selector:这个是重点,selector的值source.python代表了这个配置文件(编译系统)是给python文件用的,而我配置的编译系统文件my_c_cpp中selector的值是"source.c, source.c++",代表my_c_cpp这个编译系统是给c或c++用的,也就是如果文件后缀为.c,那么编译系统选择自动时就会用它。
  • variants:感觉是一些可选命令。比如my_c_cpp中对应的值是:
{
    ......
    "variants":
    [
        {
            "name" : "Build Only",
            "cmd":["g++", "${file}", "-std=c++11", "-o", "${file_path}\\\\${file_base_name}"]
        },
        {
            "name" : "Run Only",
            "cmd" : ["start", "cmd", "/c", "${file_path}\\\\${file_base_name} & echo. & pause"]
        },
        {
            "name" : "Pipe Build and Run",
            "cmd":["g++", "${file}", "-std=c++11", "-o", "${file_path}\\\\${file_base_name}","&","${file_path}\\\\${file_base_name}", "<","${file_path}\\\\in",">","${file_path}\\\\out"]
        },
        {
            "name" : "Pipe Run Only",
            "cmd" : ["${file_base_name}", "<","in",">","out"]
        },
        {
            "name" : "Project Build & Run",
            "cmd" : ["g++", "${file_path}\\\\*.cpp", "-std=c++11", "-o", "${file_path}\\\\project", "&", "start", "cmd", "/c", "${file_path}\\\\project & echo. & pause"]
        },
        {
            "name" : "Project Build Only",
            "cmd" : ["g++", "${file_path}\\\\*.cpp", "-std=c++11", "-o", "${file_path}\\\\project"]
        },
        {
            "name" : "Project Run Only",
            "cmd" : ["start", "cmd", "/c", "${file_path}\\\\project & echo. & pause"]
        }
    ]
}

然后就可以更改软件自带的编译配置文件

赞赏