Jak dodać niestandardowy element menu w SublimeText 2.Dodawanie niestandardowych menu w Sublime Text
Jakieś pomysły?
Widzę, że istnieje plik Main.sublime-menu, ale nie wiem jak go edytować.
Dzięki!
Jak dodać niestandardowy element menu w SublimeText 2.Dodawanie niestandardowych menu w Sublime Text
Jakieś pomysły?
Widzę, że istnieje plik Main.sublime-menu, ale nie wiem jak go edytować.
Dzięki!
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>"}
}
Ł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"]} }
]
Ta odpowiedź bardzo mi pomogła, ponieważ na ten temat jest tak wiele, że tak naprawdę nie obejmuje ona tej prostej operacji. – sugardaddy
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
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
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
@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
@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