2013-06-08 10 views
11

PytanieSublime Text 2 - Key binding dla określonego języka?

Jaki jest właściwy sposób utworzenia klucza wiążącego dla określonego języka?

Tło

chciałbym wstawić średnik po każdym wierszu automatycznie podczas pracy na plikach Java. Stworzyłem makro do wykonania i mogłem je powiązać z super+enter. Teraz chciałbym zakres klucz wiązania do tylko pliki Java. Co ja robię źle?

[ 
    { 
    "keys": ["super+enter"], "command": "run_macro_file", 
    "args": {"file": "Packages/User/Add Line SemiColon.sublime-macro"}, 
    "context": [ 
     { "key": "selector", "operator": "equals", "operand": "source.java" } 
    ] 
    } 
] 
+0

Po podniesieniu głowy "równy" wystarczy jeden heads up. http://sublimetext.userecho.com/topic/21146-key-binding-context-to-only-react-on-on-eg-python-code/. Jeśli przewiniesz niektóre komentarze, zobaczysz, że nie działa na OS X (z jakiegokolwiek powodu). Mają "obejście". Chociaż nie jest to zbyt dobre, ponieważ w zasadzie wyłączają klawiaturę dla innych języków. Ale może to dla ciebie w porządku. Komentarz, którego szukasz, pochodzi z "Oktay Acikalin" Nie wiadomo, z jakiej platformy korzystasz, ale pomyślałam, że podniosę ten link na wszelki wypadek. – skuroda

+0

@skuroda wygląda na to, że poprawka może być, jestem na OS X i działa doskonale teraz, gdy naprawiłem ten sam problem. –

Odpowiedz

15

Będziesz love this-operator porównania, że ​​szukasz nie equals, to equal:

Operatorzy kontekstowe

equal, not_equal - Test na równość.

regex_match, not_regex_match - Dopasuj do wyrażenia regularnego.

regex_contains, not_regex_contains - Dopasuj do wyrażenia regularnego (powstrzymywanie).

Zmień to i nie powinieneś mieć więcej problemów.

+0

twarz dłoni, dzięki @protractor –

+0

Oznacz tę jako poprawną odpowiedź może @Ralph? –

+0

dzięki! szukałem tego od lat. – mpm