मैं ग्रहण के लिए एक प्लग-इन बना रही हूँ और मैं निर्मित ग्रहण 'पूर्ववत करें' एक्शन (org.eclipse.core.commands.operations) का लाभ उठाने के जब भी कोई उपयोगकर्ता प्लग-इन के साथ जुड़े वापस लाएं बटन दबाता चाहते ।मैं एक्लिप्स प्लग-इन में पूर्ववत ऑपरेशन कैसे स्क्रिप्ट कर सकता हूं?
आदर्श रूप में, यह सिर्फ पुन: पेश हैं क्या होता है जब आप Ctrl + Z भी दबा है, लेकिन मैं अनुकरण काम कर keypresses नहीं मिला।
मैं इन कोड के टुकड़े की कोशिश की है:
पूर्ववत एक कार्यक्षेत्र में प्रदर्शन:
IWorkbenchOperationSupport operationSupport = PlatformUI.getWorkbench().getOperationSupport();
IUndoContext context = operationSupport.getUndoContext();
IOperationHistory operationHistory = operationSupport.getOperationHistory();
IStatus status = operationHistory.undo(context, null, null);
पूर्ववत एक कार्यक्षेत्र में प्रदर्शन:
IWorkbenchOperationSupport operationSupport = PlatformUI.getWorkbench().getOperationSupport();
IUndoContext context= (IUndoContext)ResourcesPlugin.getWorkspace().getAdapter(IUndoContext.class);
IOperationHistory operationHistory = operationSupport.getOperationHistory();
IStatus status = operationHistory.undo(context, null, null);
क्या मैं तो के लिए, तुलनात्मक रूप से देख रहा हूँ , यह है, लेकिन यह काम नहीं करता है:
संपादक/दस्तावेज़ पर पूर्ववत प्रदर्शन:
IWorkbenchOperationSupport operationSupport = PlatformUI.getWorkbench().getOperationSupport();
IEditorPart currentEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
IUndoContext context = (IUndoContext) currentEditor.getAdapter(IUndoContext.class);
IOperationHistory operationHistory = operationSupport.getOperationHistory();
IStatus status = operationHistory.undo(context, null, null);
मैं भी इस मुद्दे पर काम कर रहा हूँ। मुझे इस अद्यतन साइट (http://download.eclipse.org/eclipse/updates/4.2) का उपयोग करके इस उदाहरण सुविधा (org.eclipse.sdk.examples.feature) मिली है, और इसमें एक अच्छा कार्यान्वयन ठीक काम कर रहा है। मुझे बस यह पता लगाने की आवश्यकता है कि IUndoContext में भाग लेने के लिए मेरा दृश्य भाग कैसे प्राप्त करें ताकि पूर्ववत और फिर से क्रियाएं ग्रहण पूर्ववत करें और फिर से मेनू आइटम में दिखाई दें। अजीब चीज यह है कि मेरे पूर्ववत क्रियाएं केवल तभी ठीक होती हैं जब नमूना दृश्य भाग सक्रिय होता है, और जब मेरा दृश्य भाग सक्रिय नहीं होता है। मुझे लगता है कि मैं अभी तक IUndoContext को पूरी तरह समझ नहीं पा रहा हूं। – twindham
नया सॉफ़्टवेयर संवाद स्थापित करने के द्वारा एक्लिप्स एसडीके उदाहरण स्थापित करने का प्रयास करते समय, फ़िल्टर बॉक्स का उपयोग करें और 'उदाहरण' टाइप करें, लेकिन श्रेणी के अनुसार समूह आइटम को अनचेक करना सुनिश्चित करें या आपको कोई परिणाम नहीं दिखाई देगा। – twindham
काम करने के लिए इस दृष्टिकोण के लिए आपको ऑपरेशन स्टैक में अवांछित आदेश जोड़ कर अपने संपादक में सभी परिवर्तन करना चाहिए। – Basilevs