2013-05-10 84 views
21

我在MacOS X上运行,并且正在使用Sublime Text 2进行编码。在Sublime Text 2中构建并运行参数

我发现命令 + 选项来构建和命令 + 转变 + 建立和运行。

是否可以运行程序(或脚本)并传递参数。例:

myProg arg1 arg2 

注:我使用多国语言(C++,Java和Python)的,所以我希望有一种方法来设置每个项目,而不是对所有构建的参数。

编辑

我想设置的参数为程序调用,有点像在eclipse就是当你运行你的程序,你可以设置的参数。

+0

让我直截了当地说:你想要一个特定程序的同一组参数?或者您希望每次都能够使用不同的参数运行代码? – whatyouhide 2013-05-10 22:31:36

回答

21

对于每一个项目,你可以在其上创建一个文件.sublime-project您的特定build_system

{ 
    "folders": 
    [{ 
    "path": "src" 
    }], 
    "build_systems": 
    [{ 
    "name": "Run with args", 
    "cmd": ["python", "$file", "some", "args"] 
    }] 
} 

这样,您就不会污染全局构建系统菜单,不会担心切换在您切换项目时构建系统。该文件也很容易访问时,您需要更改的参数:

Cmd-Shift-P > Edit Project 
+1

好友,如果我们每次都需要传递动态论证,那么完成它的最佳方式是什么......? – 2014-05-03 19:56:36

+0

动态是什么意思?你可以在这里完全访问一个shell,你可以将你的“动态”东西存储在一个文件中,并在崇高的构建中静态读取它。 – OlivierBlanvillain 2014-05-03 22:38:01

+0

例如你想为下划线运行nodejs npm安装程序,那么你将编写命令,如“npm install underscore”,但下一次你想加载express时,你将编写命令,如“npm install express”。所以我怀疑它是否通过键盘提供来选择arg并使用它来加载节点模块,与查找文件中的文本相同。 :选择文件中的任何文本,然后按Ctrl + F。你会在查找面板中找到它。 – 2014-05-06 12:14:00

5

我发现了一个简单的解决方案是建立在同一个目录中的Python文件:

import os 
os.system("python filename.py some args") 
+0

这将是我的后备选项(并不总是在崇高) ,但需要进行一些调整,比如检查os.argv,或者使用raw_input来请求多个参数,然后使用os.execv()而不是os.system()来启动。 – erm3nda 2016-11-23 02:55:02

7

InputArgs不正是你”重新寻找。它显示一个输入对话框每次运行build(ctrl + b),并且您可以在sublime文本中为它提供空格分隔的参数。

+2

当你做ctrl + shit + b并且对话框打开时,做每个人都会做的事情。它是完美的,并处理所提供的命令的历史(上推)。非常感谢。 – erm3nda 2016-11-23 02:49:10

+0

我刚刚试过用node.js构建系统,如果我传递一系列由空格分隔的参数,我将它们作为一个大参数: ie。如果我想模拟'node program.js 1 2 3',我在对话框中输入'1 2 3'时得到的是单个字符串'1 2 3',而不是3个单独的字符串参数。 – 2017-04-04 15:02:28