【问题标题】:Sublime Text 3 custom build nothing happensSublime Text 3 自定义构建没有任何反应
【发布时间】:2017-10-14 12:27:27
【问题描述】:

我不熟悉 Sublime Text 3 设置等。我正在学习制作自己的构建系统,现在我只想制作一个简单的 Python 3 构建系统,默认情况下不包括在内。 (顺便说一下,为什么 Python 2 仍然是默认的!?)无论如何,我已经阅读了一些 documentation 并按照说明进行操作。我在下面创建了.sublime-build 文件。

{
    "shell_cmd": ["python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

我已将此文件存储为python3.sublime-build/Users/ray/Library/Application Support/Sublime Text 3/Packages/User。 Sublime Text 3 能够检测到这个文件,我可以选择它来构建。但是,当我使用它构建时,什么都没有发生。当我使用默认的Python 构建系统构建时,一切都很好,它运行并在底部的一个小子窗口中显示构建结果,但是当我使用我的python3.sublime-build 构建系统时,什么都没有发生。我做错了什么?

【问题讨论】:

    标签: python-3.x build sublimetext3


    【解决方案1】:

    您使用的是shell_cmd 而不是cmd。前者似乎不支持命令的列表格式,而后者则支持。将命令更改为单个字符串 "python3 -u \"$file\"" 或使用 cmd

    来自documentationexec 命令:

    cmd:

    包含要运行的命令及其所需参数的数组。

    shell_cmd:

    指定要运行的命令及其参数的字符串。

    【讨论】:

    • 啊,当然。我什至没有注意到我有shell_cmd,因为我从文档中复制粘贴它并认为它一定是正确的。考虑到 Sublime 运行 Python 脚本并且 Python subprocess.run() 函数接受一个可选参数 shell=True,它会生成您描述的行为,这是有道理的。谢谢。
    猜你喜欢
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多