2013-04-22 59 views

Trả lời

15

Tệp * .sublime-menu đơn giản là JSON. Bạn có thể tạo một menu Main.sublime trong thư mục người dùng của bạn và nó sẽ được hợp nhất với các mục trình đơn khác. Có thể có ích khi xem qua các tệp menu chính của trình cắm chính bên thứ ba. Đây thường là ngắn hơn nhiều, vì vậy có thể dễ dàng hơn để hiểu một số trong những điều bạn cần phải xác định trong mỗi mục.

chỉnh sửa

Bạn có thể sử dụng sau đây như là một plugin để mở notepad với một tập tin bất kỳ.

import sublime 
import sublime_plugin 
import subprocess 
import threading 
class OpenNotepadCommand(sublime_plugin.TextCommand): 
    def run(self, edit, filename=None): 
     th = NotepadThread(filename) 
     th.start() 

class NotepadThread(threading.Thread): 
    def __init__(self, filename=None): 
     self.filename = filename 
     threading.Thread.__init__(self) 

    def run(self): 
     if self.filename is not None: 
      subprocess.call("notepad.exe %s" % self.filename) 
     else: 
      subprocess.call("notepad.exe") 

Khi bạn tạo mục menu, hãy sử dụng như sau cho lệnh và đối số.

{ 
    "command": "open_notepad", 
    "args": { "filename": "<the absolute path here>"} 
} 
+0

Lệnh ' thư mục gói mặc định chứa các trình đơn chính thức (menu chính thức) và menu ngữ cảnh (nhấp chuột phải). Tôi tin rằng nó cũng có thể tùy chỉnh menu thanh bên - xem plugin cải tiến thanh bên. . . – lawlist

+0

@skuroda Tìm kiếm trên Google. Không thể tìm thấy bất cứ điều gì hữu ích. Có ai biết làm thế nào để tạo ra một plugin có thể chạy một tập tin từ Sublime Text. Tôi sẽ quản lý theo cách của tôi từ đó. Cảm ơn – Avi

+0

@AviAryan Bạn đang cố gắng chạy cái gì? Plugin chỉ đơn giản là python để bạn có thể sử dụng mô-đun subprocess để tạo các quy trình mới và thực hiện bất cứ điều gì bạn muốn. Bạn cũng có thể xem [Build Systems] (http://docs.sublimetext.info/en/latest/file_processing/build_systems.html) hoặc [SublimeREPL] (https://github.com/wuub/SublimeREPL). – skuroda

9

Tùy chọn dễ dàng hơn nếu bạn muốn chỉ chạy một lệnh. Tạo một file Context.sublime menu bên trong thư mục Packages/Người dùng của bạn, và thêm những điều sau đây:

[ 
    { "caption": "<Your caption here>", "command": "exec", "args": {"cmd": ["<your cmd name>", "<arg1>", "<arg2>", <...>]} } 
] 

dụ: Thêm một mục menu vào menu ngữ cảnh mà chỉ cần chạy dir:

[ 
    { "caption": "List files in current dir", "command": "exec", "args": {"cmd": ["dir"]} } 
] 
+0

Câu trả lời này đã giúp tôi rất nhiều, vì có quá nhiều điều trên chủ đề này không thực sự bao gồm hoạt động đơn giản này. – sugardaddy

+0

Tuy nhiên, để làm cho nó hoạt động trên Windows ST2 của tôi, tôi đã phải thêm điều này như là một trong những yếu tố (một anh chị em để chú thích và lệnh, vv) ... "id": "justSomethingUniqueLikeActionName" Vì vậy, đây là mã của tôi để chạy một chuỗi cho Plugin RegReplace ... '{ \t "id": "cfmlToCfScript", \t "chú thích": "CFML để CfScript", \t "lệnh": "reg_replace", \t "args": { \t \t "thay thế": [ \t \t \t "operation1" \t \t \t, "operation2" \t \t] \t \t, "find_only": false \t} 0.123.} ' – sugardaddy

+0

Nếu bạn đã tạo một thư mục cho plugin (ví dụ: 'Gói/plugin_name') đặt tệp trình đơn cao cấp trong thư mục đó và sử dụng tên lệnh của plugin trong giá trị' lệnh' của JSON. Ví dụ: '{" chú thích ":" Plugin desc "," command ":" plugin_cmd "}' – steve

Các vấn đề liên quan