2012-05-21 11 views
7

मैंने कोड मिरर को एक सीएमएस सिस्टम में प्लगइन के रूप में लागू किया है।कोडमिरर 2: एकाधिक इंडेंट लाइनों को हटा रहा है

मुझे एक समस्या है जहां मैं एकाधिक लाइनों का चयन करता हूं और टैब दबाता हूं तो रेखाएं हटा दी जाती हैं।

यह कोड मिरर डेमो वेबसाइट पर नहीं होता है। मुझे एकाधिक इंडेंट को सक्षम या अक्षम करने के लिए कॉन्फ़िगरेशन विकल्प नहीं मिल रहा है।

यहाँ मेरी विन्यास कोड है:

this.CodeArea = CodeMirror.fromTextArea(codeArea, { 
    lineNumbers: true, 
    mode: { name: "xml", htmlMode: true }, 
    onChange : function (editor) { 
     editor.save(); 
    } 
}); 

प्रसंग: https://github.com/rsleggett/tridion-mirror/blob/master/src/BuildingBlocks.Tridion2011Extensions.CodeMirror/BuildingBlocks.Tridion2011Extensions.CodeMirror/Scripts/codemirror/codemirror.js

मुझे यकीन है कि मैं क्या याद कर रहा हूँ नहीं हूँ। कोई विचार?

डेमो संस्करण में पर लाइन 2036 के आसपास वहाँ निम्नलिखित कोड ब्लॉक कि आपके संस्करण से याद आ रही है है: एक गुच्छा के साथ साथ

defaultTab: function(cm) { 
    if (cm.somethingSelected()) cm.indentSelection("add"); 
    else cm.replaceSelection("\t", "end"); 
} 

उत्तर

11

CodeMirror javascripts your version के बीच भिन्न और demo versionCodeMirror.keyMap से संबंधित कार्यों का।

दोनों की तुलना करें और लापता बिट्स को मर्ज करें, या केवल डेमो संस्करण से स्क्रिप्ट का उपयोग करें।

+0

मैं संस्करण 3.15 पर हूं और यह मेरे लिए काम नहीं करता है। इस संस्करण में आप जिस पंक्ति का उल्लेख करते हैं वह यहां भिन्न है: 'else cm.replaceSelection (" \ t "," end "," + input ");'। मैंने 'else cm.replaceSelection (" \ t "," end ") का उपयोग करने का प्रयास किया है, 'कोई फायदा नहीं हुआ। – nick

0

मेरे मामले में, यह हो रहा था क्योंकि मैं जो एक टैब वर्ण के बजाय रिक्त स्थान सम्मिलित करने के लिए टैब ¡मैप किया CodeMirror आधिकारिक दस्तावेज से कस्टम टुकड़ा इस्तेमाल किया:

editor.setOption("extraKeys", { 
    Tab: function(cm) { 
    var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); 
    cm.replaceSelection(spaces); 
    } 
}); 

इस कस्टम निकाला जा रहा है ब्लॉक सारणीकरण काम बनाया स्निपेट डिफ़ॉल्ट रूप से टैब के बजाय फिर से और रिक्त स्थान का उपयोग किया जाता था।

संबंधित मुद्दे