Come aggiungere una voce di menu personalizzata in SublimeText 2.Aggiunta di menu personalizzati nel testo sublime
Eventuali idee ??
Vedo che c'è un file Main.sublime-menu ma non so come modificarlo.
Grazie!
Come aggiungere una voce di menu personalizzata in SublimeText 2.Aggiunta di menu personalizzati nel testo sublime
Eventuali idee ??
Vedo che c'è un file Main.sublime-menu ma non so come modificarlo.
Grazie!
Il file del menu * .sublime è semplicemente JSON. Puoi creare un menu Main.sublime nella tua directory utente e sarà unito con altre voci di menu. Potrebbe essere utile consultare i file del menu Main.sublime che hanno i plugin di terze parti. Questi sono generalmente molto più brevi, quindi potrebbe essere più facile capire alcune delle cose che devi definire in ogni voce.
modificare
È possibile utilizzare il seguente come un plugin per aprire il blocco note con un file arbitrario.
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")
Durante la creazione di una voce di menu utilizzare qualcosa come il seguente per il comando e gli argomenti.
{
"command": "open_notepad",
"args": { "filename": "<the absolute path here>"}
}
Opzione più semplice se ciò che si desidera è semplicemente eseguire un comando. Creare un Context.sublime-menu di file all'interno della cartella Packages/utente, e aggiungere il seguente:
[
{ "caption": "<Your caption here>", "command": "exec", "args": {"cmd": ["<your cmd name>", "<arg1>", "<arg2>", <...>]} }
]
Esempio: Aggiunta di una voce di menu al menu contestuale che basta eseguire dir:
[
{ "caption": "List files in current dir", "command": "exec", "args": {"cmd": ["dir"]} }
]
Questa risposta mi ha aiutato molto, poiché c'è così tanto là fuori su questo argomento che in realtà non copre questa semplice operazione. – sugardaddy
Tuttavia, per farlo funzionare sul mio Windows ST2, ho dovuto aggiungere questo come uno degli elementi (un fratello di sottotitoli e comandi, ecc.) ... "id": "justSomethingUniqueLikeActionName" Quindi ecco il mio codice per eseguire una sequenza per il plug-in RegReplace ... '{ \t "id": "cfmlToCfScript", \t "caption": "CFML per cfscript", "comando" \t: "reg_replace", \t "args": { \t \t "sostituti": [ \t \t \t "funzionamento1" \t \t \t, "operation2" \t \t] \t \t, "find_only": false \t} 0.123.} ' – sugardaddy
Se è stata creata una directory per il plug-in (es. 'Packages/plugin_name') inserisce il file del menu sublime in quella directory e usa il nome del comando del plugin nel valore' command' del JSON. E.g: '{" caption ":" Plugin desc "," command ":" plugin_cmd "}' – steve
Il ' La directory dei pacchetti di default contiene i menu principali (menu) e quelli contestuali (tasto destro) integrati. Credo che sia anche possibile personalizzare il menu della barra laterale - vedi il plugin per l'ottimizzazione della barra laterale. . . – lawlist
@skuroda Cerca in Google. Non riesco a trovare nulla di utile. Qualcuno sa come creare un plugin che può eseguire un file da Sublime Text. Troverò la mia strada da quella. Grazie – Avi
@AviAryan Che cosa stai cercando di eseguire? I plugin sono semplicemente python, quindi puoi usare il modulo subprocess per creare nuovi processi ed eseguire quello che vuoi. Puoi anche dare un'occhiata a [Build Systems] (http://docs.sublimetext.info/en/latest/file_processing/build_systems.html) o [SublimeREPL] (https://github.com/wuub/SublimeREPL). – skuroda