2010-05-12 4 views
7

में एक ही फ़ाइल के दोनों क्षेत्रों diff कैसे मैं एक TDDer हूँ और अक्सर आम या इसी तरह के कोड बाहर refactor करने के लिए एक की जरूरत है। इसी तरह का कोड हमेशा कॉपी और पेस्ट का नतीजा नहीं होता है।ग्रहण

मैं क्षेत्रों या संदिग्ध डुप्लिकेशंस की पहचान करने के लिए उपकरण की तलाश नहीं कर रहा हूं, ऐसा करने के लिए कई टूल हैं। और यदि कोड बिल्कुल वही है तो कोई बड़ी समस्या नहीं है, ग्रहण लगभग हमेशा ही ऐसा कर सकता है।

मैं कोड के उन वर्गों के मतभेदों को देखने के लिए उपकरणों की तलाश कर रहा हूं जो मूल रूप से भिन्न हैं, लेकिन मेरी मानव आंख संरचनात्मक समानताओं को देख सकती है, और संभवतः और भी समान हो सकती है, ताकि आम कोड को अंततः बाहर किया जा सके ।

यदि दो क्षेत्रों को चिह्नित करने और अंतर को चिह्नित करने के लिए ग्रहण (या कुछ अन्य उपकरण) प्राप्त करने की संभावना थी तो यह बहुत आसान होगा। इस जानकारी के साथ यह क्षेत्रों को तब तक करीब ले जाने के लिए बहुत आसान होगा जब तक कि वे समान न हों और फिर एक्स्ट्रेक्ट विधि रीफैक्टरिंग को सक्रिय करें।

यह निश्चित रूप से Emacs में किया जा सकता है, लेकिन मैं इसे ग्रहण से आसानी से उपलब्ध करना चाहता हूं। कोई संकेतक?

+0

[Diff उपकरण है जो फ़ाइलों के उप-सेक्शन तुलना कर सकते हैं] (http://stackoverflow.com/questions/1800634/diff-tool-that-can-compare-sub-sections-of-files) –

+0

के संभावित डुप्लिकेट संभावित डुप्लिकेट प्रश्न वास्तव में एक डुप्लिकेट है लेकिन इसे बहुत अधिक अप्रासंगिक उत्तर मिल गए हैं (* पहचान * डुप्लिकेट के लिए टूल को इंगित करना)। मैंने इस सवाल को स्पष्ट करने की कोशिश की है और उत्तर में मेरे निष्कर्षों का सारांश दिया है। – thoni56

उत्तर

1

लगता था कुछ हद तक प्रयोग करने योग्य जवाब in this question, एक सवाल ही जरूरत को अभिव्यक्त करते। लेकिन, फिर से उन उत्तरों पर डुप्लीकेट पर ध्यान केंद्रित करते हैं, जो इसे विज़ुअलाइज़ नहीं करते हैं।

काम करने वाले दो सुझाव KDiff3 और Diffuse हैं। दोनों आपको एक ही फाइल को दो बार खोलने या पैन में अलग-अलग अनुभागों को पेस्ट करने की अनुमति देते हैं। यद्यपि ग्रहण से उन्हें उपयोग करने का कोई तरीका नहीं है।

0

मैं एक तरह से क्षेत्रों को चिह्नित करने और उन्हें ग्रहण में diff करने के बारे में पता नहीं डॉन, लेकिन आप दो फ़ाइलों diff कर सकते हैं। इस तरह से आप उन हिस्सों की प्रतिलिपि बना सकते हैं जिन्हें आप दो पेस्ट फ़ाइलों में कम से कम 90% में विभाजित करना चाहते हैं?

आप परियोजना पेड़ और में diff करना चाहते हैं दो फ़ाइलों का चयन राइट क्लिक करें -> के साथ तुलना का चयन करें - एक दूसरे को>।

चियर्स, Jørgen

+0

मैं थोड़ी उम्मीद कर रहा था कि किसी को इस सरल उपकरण को कुछ आईडीई में जोड़ने के लिए ट्रिगर करें, अधिमानतः ग्रहण ... – thoni56