2013-05-10 39 views
21

Tôi đang chạy trên MacOS X và tôi đang sử dụng Sublime Text 2 để mã.Xây dựng và chạy với các đối số trong Sublime Text 2

Tôi đã tìm thấy lệnh + B lựa chọn để xây dựng và lệnh + thay đổi + B để xây dựng và chạy.

Có thể chạy chương trình (hoặc tập lệnh) và chuyển đối số hay không. Ví dụ:

myProg arg1 arg2 

Lưu ý: Tôi đang sử dụng nhiều ngôn ngữ (C++, Java, Python), vì vậy tôi có cách đặt đối số cho từng dự án chứ không phải cho tất cả công trình.

Sửa

Tôi muốn thiết lập các thông số cho một cuộc gọi chương trình, một chút giống như trong nhật thực, nơi bạn có thể thiết lập các đối số khi bạn chạy chương trình của bạn.

+0

Hãy để tôi nói thẳng: bạn muốn luôn có cùng một bộ đối số cho một chương trình cụ thể? Hoặc bạn muốn có thể chạy mã mỗi lần với các đối số khác nhau? – whatyouhide

Trả lời

21

Đối với mỗi dự án bạn có thể tạo một tập tin .sublime-project với cụ build_system của bạn trên đó:

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

Bằng cách này bạn không làm ô nhiễm menu hệ thống xây dựng toàn cầu và sẽ không phải lo lắng về việc chuyển xây dựng hệ thống khi bạn chuyển đổi dự án. Tập tin này cũng rất dễ dàng để truy cập khi bạn cần thay đổi các đối số:

Cmd-Shift-P > Edit Project 
+1

buddy nếu chúng ta cần phải vượt qua đối số năng động mỗi lần thì những gì sẽ là cách tốt nhất có thể để làm cho nó được thực hiện ....? –

+0

Bạn có ý gì khi năng động? Bạn có toàn quyền truy cập vào một trình bao ở đây, bạn có thể lưu trữ điều "động" của bạn trong một tệp và đọc nó tĩnh trong bản dựng tuyệt vời. – OlivierBlanvillain

+0

ví dụ bạn muốn chạy trình cài đặt nodejs npm cho gạch dưới thì bạn sẽ viết lệnh như trong "npm install underscore" nhưng lần sau bạn muốn load express thì bạn sẽ viết lệnh như trong "npm install express". Vì vậy, nghi ngờ của tôi, chúng tôi có điều khoản thông qua bàn phím để chọn arg và sử dụng nó để tải các mô-đun nút giống như chúng tôi có để tìm văn bản trong tệp, ví dụ: : chọn bất kỳ văn bản nào trong tệp, sau đó nhấn ctrl + F. Bạn sẽ tìm thấy nó trong bảng điều khiển tìm. –

5

Tôi tìm thấy một giải pháp đơn giản là tạo một file python trong cùng thư mục:

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

Đó sẽ là tùy chọn dự phòng của tôi (không phải lúc nào cũng dưới tuyệt vời) , nhưng cần một số điều chỉnh như kiểm tra os.argv và có thể, sử dụng raw_input để yêu cầu nhiều arg, sau đó khởi chạy với os.execv() thay vì os.system(). – erm3nda

7

InputArgs không chính xác những gì bạn' Đang tìm kiếm. Nó cho thấy một hộp thoại đầu vào mỗi lần bạn chạy xây dựng (ctrl + b) và bạn có thể cung cấp nó với các đối số không gian được phân tách từ bên trong văn bản tuyệt vời.

+2

Có những gì mọi người mong đợi sẽ làm khi bạn làm ctrl + shit + b và hộp thoại mở ra. Nó là hoàn hảo và xử lý lịch sử của các lệnh được cung cấp (đẩy lên). Cảm ơn bạn rất nhiều. – erm3nda

+0

Tôi vừa thử điều này với hệ thống xây dựng node.js và nếu tôi chuyển một chuỗi thông số được phân cách bằng dấu cách, tôi sẽ lấy chúng làm một tham số lớn: tức là. nếu tôi muốn mô phỏng 'node program.js 1 2 3', những gì tôi nhận được khi tôi nhập' 1 2 3' trong hộp thoại là một chuỗi duy nhất '1 2 3' thay vì 3 tham số chuỗi riêng biệt. –