Sublime 3 - Goto Definition fonksiyonu için Set anahtar haritası


143

Bir Eclipse stil kısayolu Ctrl+ MouseClickişlev / yöntem açmak için oluşturmak istiyorum . Sublime Text 3 zaten denilen bu işleve sahiptir, goto_definitionancak buna bağlıdır F12.

Ancak bu bağlamayı nasıl oluşturacağımdan emin değilim. Burada dokümantasyon için baktım ama çok karmaşıktı. Bu basit anahtar ciltlemede bana yardım edebilir misiniz?

Düzenleme: Bu makalenin ardından bunu yapmam söylendi: http://webtempest.com/better-definition-navigation-in-sublime-text-3/

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["super", "shift"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Bu işe yaramıyor gibi görünüyor, ctrl+ shift+ clickhiçbir şey yürütmüyor.


3
superWindows ve Linux için windows anahtarı ve OS X için komut anahtarı, kontrol değil. Bunu deneyin ve istediğiniz davranışı alıp almadığınızı görün.
skuroda

Yanıtlar:


244

Eclipse stili goto tanımını ayarlamak isteyen herkes için .sublime-mousemapSublime Userklasöründe dosya oluşturmanız gerekir .

Pencereler - yaratmak Default (Windows).sublime-mousemapiçinde%appdata%\Sublime Text 3\Packages\User

Linux - oluştur Default (Linux).sublime-mousemapiçinde~/.config/sublime-text-3/Packages/User

Mac - oluştur Default (OSX).sublime-mousemapiçinde~/Library/Application Support/Sublime Text 3/Packages/User

Şimdi bu dosyayı açın ve aşağıdaki yapılandırmayı içine yerleştirin

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

modifiersAnahtarı istediğiniz gibi değiştirebilirsiniz .


Yana Ctrl- button1gibi Windows ve Linux üzerinde ikinci bir değiştirici tuşa ekleyerek, birden fazla seçim için kullanılan Alther iki özelliklerini kullanmak istiyorsanız bu iyi bir fikir olabilir:

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl", "alt"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

Alternatif olarak, sağ fare düğmesini ( button2) Ctrltek başına kullanabilir ve yerleşik işlevlere müdahale edemezsiniz.


4
Bu doğru cevap gibi görünüyor, ama söylediğin ve hala söylediğin her şeyi yaptım ctrlclickUnable to parse binding
Çalışmıyorum

yapılandırma dosya adını kontrol ettiniz mi? Bir yerde hata ekran görüntüsü gönderebilir misiniz?
Boris Brdarić

Bunun için nasıl sağ tıklayacağınızı bilen var mı? Komutu Context.sublime-menu dosyasına ekleyebildim, ancak şu anda seçili olan metnin argümanlarını nasıl geçirebileceğimi anlayamadım ... Veya satır ... Belgeleri bulmaya çalışırken iyi bir şey aradım (ve "args" ı denedi: "drag_select") ama çözemedi. Bu harika çalışıyor olsa sağ tıklayın ve tanım atlamak istiyorum! Teşekkürler.
Tom

Enter tuşunu da buna bağlayabilir miyim, böylece her ctrl + tıklattığımda el ile basmam gerekmez mi?
user3388884

@ BorisSamardžija, ayrıca yukarıdaki komut dosyasını diğer harici dosyalara atlamak yerine geçerli dosyamdaki işlev tanımını nasıl arayabilirim?
Alexander Solonik

90

Ayarlamak için alt + d tanımına gidin. Menü Tercihleri> Anahtar Bağlantıları-Kullanıcı'dan. Ve sonra aşağıdaki JSON'u ekleyin.

[
    { "keys": ["alt+d"], "command": "goto_definition" }
]

1

9
Muhtemelen aşağı inildiniz çünkü orijinal soru "İşlevi / yöntemi açmak için bir Eclipse stil kısayolu Ctrl + MouseClick oluşturmak istiyorum" diye sordu. Cevabınızı fare kısayol sürümüyle ilgilenmediğim için yararlı buldum, bu yüzden kaldırdım. :)
Charles Roper

1
cmd + opt +
down'dan

button1Bunun yerine kullanmak mümkün d... yani, biz gibi"alt" + "button"
IROEGBU

22

Düzgün bir tanımın nasıl yapıldığını görmek istiyorsanız, Yüce Metin-> Tercihler-> Anahtar Bağlamaları - Varsayılan'a gidin ve geçersiz kılmak istediğiniz komutu arayın.

{ "keys": ["f12"], "command": "goto_definition" },
{ "keys": ["super+alt+down"], "command": "goto_definition" }

Bunlar benim Varsayılanımda gösterilen iki.

Mac'te ikincisini geçersiz kılmak için kopyaladım.

Sublime Text -> Tercihler -> Anahtar Bağlamaları - Kullanıcı Bunu ekledim

/* Beginning of File */

[
    {
        "keys": ["super+shift+i"], "command": "goto_definition" 
    }
]

/* End of File */

Bu, mac'ta Command + Shift + 1 kombinasyonuna bağlar.


6

Bir Mac'te kendiniz tuş bağlama ayarlamanız gerekir. Sadece

Sublime --> Preference --> Key Binding - User  

ve aşağıdakileri girin:

{ "keys": ["shift+command+m"], "command": "goto_definition" }

Bu, Shift + Command + Mgoto tanımını etkinleştirmek için tuşunun bağlanmasını sağlar. Tuş takımını elbette istediğiniz herhangi bir şeye ayarlayabilirsiniz.


4

ctrl! = windows ve linux makinelerinde süper.

"Goto Definition" ın F12 sürümü birden fazla dosyanın sonuçlarını üretirse, "ctrl + shift + click" sürümü iyi çalışmayabilir. GoSublime paketi ile golang projesini görüntülerken bu hatayı buldum.


1
CMD + ÜST KARAKTER + FARE1 çalışmıyor! doğru Go sintox gitmek için tıklayın toto tanımlamak?
Magico

@ Magico Gerekli GoSublime kurulumu ve yalnızca Golang projesi için kullanılabilir. GoSublime: Godoc / Goto Definition ctrl+dot,ctrl+g veya ctrl+shift+left-clickWindows üzerinde. Mac'te ctrl komutunu değiştirin.
Ivan Chau

0

Sublime taşınabilir sürümünü kullanıyorum (Windows için) ve bu (fare haritasını SublimeText\Packages\Userklasöre yerleştirerek ) benim için çalışmadı.

Taşınabilir sürümüm için kurulum dizininin SublimeText\Data\Packages\Userçalışabilmesi için mousemap dosyasını klasöre yerleştirmek zorunda kaldım SublimeText. Data\Packages\Userkeymap dosyasını da bulduğum yer.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.