2013-04-22 15 views

Odpowiedz

15

Plik * .sublime-menu jest po prostu JSON. Możesz utworzyć menu Main.sublime w swoim katalogu użytkownika i zostanie ono połączone z innymi wpisami menu. Korzystne może być przeglądanie plików głównego menu podrzędnego, które mają wtyczki stron trzecich. Są one na ogół o wiele krótsze, więc może być łatwiej zrozumieć niektóre z rzeczy, które musisz zdefiniować w każdym wpisie.

edit

można użyć następujących jako plugin, aby otworzyć notatnik z dowolnego pliku.

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") 

Podczas tworzenia elementu menu należy użyć następującego polecenia i argumentów.

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

Opcja ' domyślny katalog pakietów zawiera wbudowane menu główne (menubar) i kontekstowe (prawy przycisk myszy). Uważam, że możliwe jest również dostosowanie menu paska bocznego - patrz dodatek do wtyczek paska bocznego. . . – lawlist

+0

@skuroda Wyszukiwanie w Google. Nie mogę znaleźć niczego przydatnego. Czy ktoś wie, jak stworzyć wtyczkę, która może uruchomić plik z Sublime Text. Poradzę sobie z tego. Dzięki – Avi

+0

@AviAryan Co próbujesz uruchomić? Wtyczki są po prostu pythonami, więc możesz używać modułu podprocesu do tworzenia nowych procesów i wykonywania wszystkiego, co chcesz. Możesz również rzucić okiem na [Build Systems] (http://docs.sublimetext.info/en/latest/file_processing/build_systems.html) lub [SublimeREPL] (https://github.com/wuub/SublimeREPL). – skuroda

9

Łatwiejsza opcja, jeśli chcesz tylko uruchomić polecenie. Utwórz plik Context.sublime-menu wewnątrz katalogu/Zestawy użytkownika i dodać następujące:

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

exemple: Dodawanie pozycji menu do menu kontekstowego, które po prostu uruchomić reż:

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

Ta odpowiedź bardzo mi pomogła, ponieważ na ten temat jest tak wiele, że tak naprawdę nie obejmuje ona tej prostej operacji. – sugardaddy

+0

Jednak, aby uruchomić go na moim Windows ST2, musiałem dodać to jako jeden z elementów (rodzeństwo do podpisu i polecenia, itp.) ... "id": "justSomethingUniqueLikeActionName" Oto mój kod uruchomić sekwencję dla wtyczki RegReplace ... '{ \t "id" "cfmlToCfScript" \t "podpisu": "CFML do CFScript", "komenda" \t "reg_replace" \t "arg": { \t \t "wymiany": [ \t \t \t "operation1" \t \t \t "operation2" \t \t] \t \t "find_only" false \t} 0.123.} ' – sugardaddy

+0

Jeśli utworzyłeś katalog wtyczki (np. 'Packages/plugin_name') umieść plik z wysublimowanym menu w tym katalogu i użyj nazwy polecenia wtyczki w wartości' command' JSON. Np .: '{" caption ":" Plugin desc "," command ":" plugin_cmd "}' – steve