उदात्त 3 - फ़ंक्शन गोटो परिभाषा के लिए मुख्य मानचित्र सेट करें


143

मैं फंक्शन / मेथड खोलने के लिए एक्लिप्स स्टाइल शॉर्टकट Ctrl+ बनाना चाहता हूं MouseClick। उदात्त पाठ 3 में पहले से ही यह फ़ंक्शन कहा जाता है, goto_definitionलेकिन यह बाध्य है F12

लेकिन मुझे यकीन नहीं है कि इस बंधन को कैसे बनाया जाए। मैंने यहाँ प्रलेखन के लिए देखा लेकिन यह बहुत जटिल था। क्या आप इस सरल कुंजी बंधन के साथ मेरी मदद कर सकते हैं?

संपादित करें: इस लेख के बाद मुझे ऐसा करने के लिए कहा गया था: http://webtempest.com/better-definition-navigation-in-sublime-text-3/

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

यह काम करने के लिए नहीं लगता है, ctrl+ shift+ clickकुछ भी नहीं निष्पादित करता है।


3
superविंडोज़ और लिनक्स के लिए विंडोज़ की कुंजी है और ओएस एक्स के लिए कमांड कुंजी, नियंत्रण नहीं है। कोशिश करो और देखो कि क्या आप चाहते हैं कि व्यवहार मिलता है।
स्कुअरो

जवाबों:


244

किसी और के लिए जो ग्रहण शैली गोटो परिभाषा सेट करना चाहता है, आपको .sublime-mousemapउप- Userफ़ोल्डर में फ़ाइल बनाने की आवश्यकता है ।

विंडोज - बनाने Default (Windows).sublime-mousemapमें%appdata%\Sublime Text 3\Packages\User

लिनक्स - बनाने Default (Linux).sublime-mousemapमें~/.config/sublime-text-3/Packages/User

मैक - बनाने Default (OSX).sublime-mousemapमें~/Library/Application Support/Sublime Text 3/Packages/User

अब उस फ़ाइल को खोलें और निम्नलिखित कॉन्फ़िगरेशन को अंदर रखें

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

आप modifiersजैसे चाहें चाबी बदल सकते हैं ।


चूँकि Ctrl- button1विंडोज और लिनक्स पर कई चयनों के लिए उपयोग किया जाता है, जैसे Altकि आप दोनों का उपयोग करना चाहते हैं, तो एक दूसरा संशोधक कुंजी जोड़ना एक अच्छा विचार हो सकता है:

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

वैकल्पिक रूप से, आप अकेले के button2साथ सही माउस बटन ( ) का उपयोग कर सकते Ctrlहैं, और किसी भी अंतर्निहित कार्यों में हस्तक्षेप नहीं कर सकते हैं।


4
यह सही उत्तर की तरह लगता है, लेकिन मैंने जो कुछ भी कहा था, वह किया था और अभी भी यह काम नहीं कर रहा हूँ I ctrl+ clickऔर इसके कुछ भी नहीं करने पर, मुझे एक त्रुटि Unable to parse binding
मिलती है

क्या आपने कॉन्फ़िगरेशन फ़ाइल नाम की जाँच की है? क्या आप कहीं त्रुटि स्क्रीनशॉट पोस्ट कर सकते हैं?
बोरिस ब्रदराइक

क्या किसी को पता है कि आप इसके लिए कैसे राइट क्लिक करेंगे? मैं एक Context.sublime-menu फ़ाइल को कमांड में जोड़ने में सक्षम था, लेकिन यह पता नहीं लगा सका कि वर्तमान में चयनित पाठ के लिए कैसे आर्गन्स में पास किया जाए ... या लाइन ... मैंने प्रलेखन खोजने की कोशिश करते हुए एक अच्छा खोजा (और "आर्ग्स" की कोशिश की: "drag_select") लेकिन इसका पता नहीं लगा सका। मैं सही क्लिक करता हूँ और परिभाषा में कूदना चाहता हूँ, हालांकि यह बहुत अच्छा काम करता है! धन्यवाद।
टॉम

क्या मैं इसके लिए भी कुंजी दर्ज कर सकता हूं इसलिए मुझे इसे मैन्युअल रूप से प्रेस करने की जरूरत नहीं है क्योंकि मैं ctrl + क्लिक कर सकता हूं?
user3388884

@ BorisSamardžija, मैं भी कैसे उपरोक्त स्क्रिप्ट को अपनी वर्तमान फ़ाइल में अन्य बाहरी फ़ाइलों के लिए कूदने के बजाय फ़ंक्शन परिभाषा के लिए देखो।
अलेक्जेंडर सोलोनिक

90

सेट करने के लिए alt + d की परिभाषा पर जाएं। मेनू वरीयताएँ> कुंजी बाइंडिंग-उपयोगकर्ता से। और फिर निम्नलिखित JSON जोड़ें।

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

1
नहीं कुछ कारण है कि मैं उतर गया मतदान लेकिन इस समाधान उदात्त 3. पर मेरे लिए पूरी तरह से काम कर रहा है
mbokil

9
आप शायद नीच हो गए क्योंकि मूल प्रश्न "मैं फ़ंक्शन / विधि को खोलने के लिए एक ग्रहण शैली shorcut Ctrl + MouseClick बनाना चाहता हूं"। मुझे आपका उत्तर उपयोगी मिला, क्योंकि मुझे माउस शॉर्टकट संस्करण में कोई दिलचस्पी नहीं है, इसलिए मैंने अपवोट किया। :)
चार्ल्स रॉपर

1
cmd + ऑप्ट + डाउन से बेहतर विकल्प लगता है
uday

button1इसके बजाय उपयोग करना संभव है d... इसलिए, हमारे पास पसंद है"alt" + "button"
IROEGBU

22

यदि आप यह देखना चाहते हैं कि एक उचित परिभाषा कैसे करें तो उदात्त पाठ में जायें-> प्राथमिकताएँ -> मुख्य बिन्दियाँ - डिफ़ॉल्ट और उस कमांड को खोजें जिसे आप ओवरराइड करना चाहते हैं।

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

वे दो हैं जो मेरे डिफ़ॉल्ट में दिखाते हैं।

मैक पर मैंने ओवरराइड करने के लिए दूसरा कॉपी किया।

उदात्त पाठ में -> प्राथमिकताएँ -> मुख्य बिन्दियाँ - उपयोगकर्ता मैंने इसे जोड़ा

/* Beginning of File */

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

/* End of File */

यह इसे मैक पर कमांड + शिफ्ट + 1 संयोजन से बांधता है।


6

एक मैक पर आपको अपने आप को कीबाइंडिंग सेट करना होगा। बस के लिए जाना

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

और निम्न इनपुट करें:

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

यह Shift + Command + Mगोटो परिभाषा को सक्षम करने के लिए कीबाइंडिंग को सक्षम करेगा । आप कीबाइंडिंग को किसी भी चीज़ में सेट कर सकते हैं जिसे आप जरूर पसंद करेंगे।


4

ctrl! = windows और linux मशीनों पर सुपर।

यदि "गोटो डेफिनिशन" का F12 संस्करण कई फाइलों के परिणाम तैयार करता है, तो "ctrl + shift + click" संस्करण अच्छी तरह से काम नहीं कर सकता है। मैंने उस बग को देखा जब GoSublime पैकेज के साथ गोलंग परियोजना को देखा।


1
CMD + SHIFT + MOUSE1 काम नहीं करता है! कोन GoTo परिभाषा पर क्लिक करने के लिए सही सिंटैक्स क्या है?
मैगिको

@Magico आवश्यक GoSublime स्थापित है और यह केवल गोलंग परियोजना के लिए काम कर सकता है। GoSublime: Godoc / Goto परिभाषा ctrl+dot,ctrl+g या ctrl+shift+left-clickविंडोज पर। Mac पर कमांड के रूप में ctrl को बदलें।
इवान चाऊ

0

मैं Sublime पोर्टेबल संस्करण (Windows के लिए) का उपयोग कर रहा हूं और यह ( SublimeText\Packages\Userफ़ोल्डर में मूसमैप को रखकर ) मेरे लिए काम नहीं कर रहा है।

मुझे अपने पोर्टेबल संस्करण के लिए इंस्टॉलेशन निर्देशिका SublimeText\Data\Packages\Userकहां SublimeTextहै यह काम करने के लिए फ़ोल्डर में मूसमैप फाइल रखना था । Data\Packages\Userवह है जहाँ मुझे कीमैप फ़ाइल भी मिली।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.