【问题标题】:How to pass parameters to a build in Sublime Text 3?如何将参数传递给 Sublime Text 3 中的构建?
【发布时间】:2013-05-17 21:32:10
【问题描述】:

我目前正在制作一个在终端上运行的程序(需要一些参数)。

现在我想在 Sublime Text 中运行同样的程序,但我不知道如何在 Sublime Text 中执行程序之前将参数传递给构建。

我需要启用任何选项来指定参数吗?

使用 Sublime Text 3 build 3035

【问题讨论】:

    标签: python python-3.x sublimetext


    【解决方案1】:

    您可以为 sublime 文本创建一个新的构建系统并使用固定参数运行您的脚本。

    在您的 Packages/User 目录中创建一个新文件 (CTRL-SHIFT-P --> "Browse Packages")

    新文件:Packages/User/my_build.sublime-build

    内容如下:

    {
       "cmd": ["python", "$file", "arg1", "arg2"]
    }
    

    (用您的参数替换 arg1,arg2 - 您可以删除它们或添加更多参数)

    现在重新启动 sublime text 并在菜单中选择您的构建系统:Tools --> Build System --> my_build。从现在开始,当您按下 CTRL-B 时,您的构建系统将被执行。

    如果您正在处理其他文件或项目,请不要忘记将其改回“自动”。

    您可以在构建文件中设置许多选项。请参考https://docs.sublimetext.io/guide/usage/build-systems.html

    【讨论】:

    【解决方案2】:

    我发现使用带有默认参数的 try catch 更容易,Sublime 的构建系统管理起来很烦人。当您进行快节奏的开发时,您可以只修改 except 语句中的参数。

    import sys
    try:
        if sys.argv[1]:
            Name = str(sys.argv[1])
    
    except:
        print "no argument given - using DERP"
        Name = "DERP"
    

    【讨论】:

    • 当你想强制用户决定使用什么参数时,这实际上是行不通的。
    • 是的,但是如果您不需要强制并且正在测试将采用不同类型参数的脚本,那么这非常非常有用并且比凌乱的构建系统要干净得多。我更喜欢这个。我对 2 个文件进行了回归测试。各种文件组合提供给脚本。这确实有助于定义两个测试文件。 +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 2015-03-01
    • 2013-10-14
    相关资源
    最近更新 更多