2010-08-10 13 views
16

क्या कोई (आदर्श जीयूआई) diff उपकरण हैं जो वाक्यविन्यास से अवगत हैं?सिंटैक्स जागरूक diff उपकरण?

Foo = { 'hello': 'world', | Foo = { 'hello': 'world', 
     'goodnight': 'moon' |   'goodnight': 'moon' 
     }      < 
           < 
Bar = { 'picture': 1000,  < 
     }      |   } 

मैं एक उपकरण है जो कोशिश करते हैं और मिलान ब्रेसिज़ होगा चाहते हैं:

बात की तरह मैं तलाश कर रहा हूँ का एक उदाहरण के रूप में, मैं खोजने कि मेरे वर्तमान उपकरण याद आती है दोहराए कोड संरेखित करता है रखना एक ओर दूसरी तरफ मिलान करने वाले ब्रेसिज़ के साथ संरेखित करें।


संपादित करें: मैं एक ऐसे टूल की तलाश में हूं जो स्वचालित रूप से उस स्थिति को खोज सके और उसके संरेखण को सही कर सके।

+0

"ठीक"? आप का मतलब है ब्रेसिज़ को सही ढंग से पहचानें, या किसी भी तरह से स्रोत कोड को संशोधित करें? –

+0

@Ira: मैं पहले की तलाश में हूं। – BCS

+0

अन्य उत्तरों में चर्चा के आधार पर, बीसीएस केवल या तो BeyondCompare के लिए एक फिक्स चाहता है, या एक GUI- आधारित वाक्यविन्यास अवगत होना चाहिए उपकरण अलग है। –

उत्तर

0

Beyond Compare आपको उन लाइनों को रीयलिन करने देगा जो इसे मेल नहीं खाते हैं। मैं आमतौर पर मिलान लाइनों के साथ अच्छी किस्मत है।

+0

मैं बीसी का उपयोग कर रहा हूं और मैं कुछ स्वचालित खोज रहा हूं। – BCS

0

मुझे लगता है कि तुलना से परे आप के लिए http://www.scootersoftware.com/index.php

+0

मैं बीसी का उपयोग कर रहा हूं और यह मुझे हाथ से संरेखण को ठीक करने देता है (जो मैं खोज रहा हूं), मुझे नहीं पता कि इसे स्वचालित रूप से कैसे किया जाए। – BCS

0

क्या देख रहे मैं स्रोत गियर DiffMerge चाहते है।

+0

सहमत हैं, मैं इसका भी उपयोग करता हूं, यह एक अच्छा टूल है। –

+0

मुझे जो भी तलाश है, उसके दस्तावेज़ों में मुझे कोई संकेत नहीं दिख रहा है। यह मिलान तत्वों को परिभाषित कर सकता है लेकिन ऐसा लगता है कि यह उन्हें घोंसला करने की अनुमति नहीं देता है और यह नहीं कहता कि यह उन्हें संरेखण संकेतों के रूप में उपयोग करता है। – BCS

3

नहीं आधारित जीयूआई, लेकिन पूरी तरह से वाक्य रचना संचालित: मेरी कंपनी के Smart Differencer उपकरण कई भाषाओं (जावा, सी #, सी ++, पीएचपी, अजगर, जावा स्क्रिप्ट, एक्सएमएल, कोबोल, incluiding ...)

स्मार्ट के लिए मतभेद पार्स कंपाइलर जैसे स्रोत टेक्स्ट, इसलिए यह उस भाषा वाक्यविन्यास और संरचनाओं को समझता है जिस तरह संकलक करता है। यह इन संरचनाओं पर संपादन कार्यों (चाल, प्रतिलिपि, हटाएं, प्रतिस्थापित, नाम बदलें-पहचान-इन-ब्लॉक) के संदर्भ में "कम से कम संपादन दूरी" निर्धारित करने के लिए इन संरचनाओं (एएसटी का उपयोग करके) की तुलना करता है और उन्हें रिपोर्ट करता है।

आपके उदाहरण में, यह पता चलेगा कि दाईं ओर घुंघराले ब्रेस फू से संबंधित है, बार नहीं, और आपको बताएगा कि बार शामिल होने वाले पूरे बयान को हटा दिया गया था।

आउटपुट शैली भिन्न होती है जैसे कि आप किसी अन्य उपकरण को परिणाम खिलााना चाहते हैं, या अधिक मानव पठनीय यदि आप इसे सीधे जांचना चाहते हैं।

+0

वास्तव में साफ लगता है, लेकिन दोनों सही मारते हैं और बिल्कुल सही दिशा में नहीं। – BCS

+2

@ बीबीएस: डंको ओवरकिल के बारे में।यदि आप भाषा संरचनाएं नहीं लेते हैं, तो आप उनसे मेल नहीं खा सकते हैं; मुझे किसी भी विकल्प के बारे में पता नहीं है जो करीब आ सकता है जब तक कि आप जो भी चाहते हैं वह सिर्फ ब्रैकेट मिलान नहीं है। सही दिशा भाग क्या नहीं है? –

+1

@Ira: ब्रैकेट मिलान और (समान संरेखण संकेत नियम) मैं चाहता हूं कि मुझे लगता है (मुझे लगता है कि "सिंटैक्स जागरूक" जो मैं ढूंढ रहा हूं उसके लिए थोड़ा मजबूत है) और मैं एक टेक्स्ट अलग करना चाहता हूं, केवल एक जो करता है नए बनाम पुराने क्या है यह पता लगाने का बेहतर काम। – BCS

0

Pretty Diff उपकरण स्वचालित रूप से सिंटैक्स जागरूक है। टिप्पणियों को हटाने के लिए कोड को कम करने के लिए कोड का उपयोग करना है और फिर कोड को सुशोभित करना ताकि प्रारूपण और सफेद स्थान को सामान्यीकृत किया जा सके। हालांकि यह केवल कुछ वेब क्लाइंट-साइड भाषाओं का समर्थन करता है। यह टूल क्लाइंट साइड पर काम करता है ताकि आप इसे अपने ब्राउज़र में जांच सकें और कुछ डेमो युक्त एक नमूना पृष्ठ है।

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