असंगत लाइन एंडिंग्स को सामान्य करने से विज़ुअल स्टूडियो का क्या मतलब है?


238

विजुअल स्टूडियो कभी-कभार मुझे बताता है:

निम्न फ़ाइलों में लाइन अंत संगत नहीं हैं। क्या आप लाइन एंडिंग को सामान्य करना चाहते हैं?

यह तब मुझे अलग-अलग मानकों या कुछ के साथ एक ड्रॉप डाउन देता है, जैसे कि विंडोज, मैक, यूनिक्स और यूनिकोड के कुछ जोड़े।

इसका क्या मतलब है और अगर मैं क्लिक Yesकरूँ तो क्या होने वाला है ?


विजुअल स्टूडियो मुझे यही संदेश दिखाता है, लेकिन "फाइल" जो इसे संदर्भित करता है, वास्तव में एक फ़ोल्डर है! इसका क्या मतलब है?!
कर्नल पैनिक

मैंने किसी विशेष (जैसे * .c या * .h) की सभी फ़ाइलों के लिए निर्देशिकाओं के एक सेट के माध्यम से या पूरी तरह से निर्देशिका में ऐसा करने के लिए एक छोटी सी उपयोगिता बनाई, हालांकि मैं डेल्फी का उपयोग करता हूं, उपयोगिता किसी भी विंडोज स्रोत कोड के लिए काम करती है। फ़ाइलें। स्रोत कोड में प्लस बाइनरी (exe) शामिल था। यह रिपोर्ट करेगा कि किन लाइनों में अतिरिक्त लाइनफीड (यानी गुम हुई गाड़ी का रिटर्न) या अतिरिक्त गाड़ी का रिटर्न (यानी लापता लाइनफीड) है। docs.google.com/file/d/0B07SrKpE8ErmbHZ1SWkxT3RLczA/…
Warren P

1
के कारण हो सकता है git। इसे भी देखें: stackoverflow.com/questions/170961/…
जेस

2
उनके पास ड्रॉप-डाउन में एक विकल्प होना चाहिए जो कहता है कि 'फ़ाइल या प्रोजेक्ट के बाकी हिस्सों से टाइप की जाने वाली सबसे आम लाइन का पक्ष'।
मेटागुरु

जवाबों:


213

आमतौर पर इसका मतलब यह है कि आपके पास एक गाड़ी वापसी / लाइन फीड जोड़ी के अलावा कुछ और के साथ समाप्त होने वाली लाइनें हैं। ऐसा अक्सर होता है जब आप एक वेब पेज से कोड एडिटर में कॉपी और पेस्ट करते हैं।

लाइन एंडिंग को सामान्य करना केवल यह सुनिश्चित कर रहा है कि लाइन समाप्त होने वाले सभी अक्षर संगत हैं। यह में समाप्त होने से एक लाइन से बचाता है \r\nऔर के साथ एक और समाप्त होने \rया \n; पहला विंडोज लाइन एंड पेयर है, जबकि अन्य आमतौर पर मैक या लिनक्स फाइलों के लिए उपयोग किया जाता है।

जब से आप विजुअल स्टूडियो में विकसित कर रहे हैं, आप स्पष्ट रूप से ड्रॉप डाउन से "विंडोज" चुनना चाहेंगे। :-)


1
गाड़ी के बिना लाइन कैसे खत्म होती है ...?
मेटागुरु

23
तो क्यों फ्लिप दृश्य स्टूडियो की देखभाल करता है कि लाइनें कैसे समाप्त होती हैं, यह स्पष्ट रूप से सभी विभिन्न प्रकारों को पहचानता है, इसे बस खुश होना चाहिए और चुप रहना चाहिए।
मेटागुरु

53
आह, लेकिन क्या होगा अगर आप सिर्फ वीएस का उपयोग कर रहे हैं जो कि विंडोज के लिए नहीं है? लिनक्स उपयोगिता या क्विक फिक्स जो सीधे C / C ++ है, और आप CRLFs नहीं जोड़ना चाहते हैं? रुको-अब आप चाहते हैं कि एमएस आपके दिमाग को पढ़े और जानें कि किसका उपयोग करना है? <g> वीएस टीम किसी भी तरह से गलत है, क्या वे नहीं हैं? शीश!
केन व्हाइट

6
ओह स्नैप केन, आप सही कह रहे हैं, अगर मैं कुछ फाइलों को संपादित करता हूं, जो कि मैं लिनक्स में संकलित करने की योजना बना रहा हूं और मुझे पता है कि संकलक चोक करेगा और मर जाएगा, अगर इसके पास लाइन अंत नहीं है जो इसे चाहिए तो मेरे पास होगा खुशी हुई कि वी.एस. मुझे चुनने दो ... धन्यवाद!
मेटागुरु

19
समस्या यह नहीं है कि वीएस यूनिक्स लाइन एंडिंग के साथ सामना नहीं कर सकता है - यह कर सकता है। चेतावनी आपको बता रही है कि लाइन अंत असंगत है - अर्थात फ़ाइल में कुछ लाइनें CRLF हैं और कुछ LF हैं। वीएस उस के साथ सामना करेगा, लेकिन आपके उपकरण श्रृंखला में अन्य अनुप्रयोग नहीं हो सकते हैं, इसलिए यह आपको चेतावनी देता है। यदि आप इस बारे में परवाह नहीं करते हैं तो चेतावनी को बंद कर दें: विकल्प -> पर्यावरण -> दस्तावेज़ -> 'लोड पर सुसंगत लाइन अंत के लिए जाँच करें'। यदि आप कई प्लेटफार्मों पर उत्पादों पर काम कर रहे हैं तो यह चेतावनी बहुत उपयोगी हो सकती है।
the_mandrill

75

कुछ लाइनें खत्म होती हैं \n

कुछ अन्य रेखाएँ समाप्त होती हैं \r\n

विजुअल स्टूडियो आपको सभी पंक्तियों को एक समान बनाने का सुझाव देता है।


40

यदि आप Visual Studio 2012 का उपयोग कर रहे हैं:

मेनू फ़ाइल पर जाएँ → उन्नत सहेजें विकल्पविंडोज (सीआर एलएफ) के रूप में लाइन अंत प्रकार चुनें ।


1
वह विकल्प मेरे विज़ुअल स्टूडियो 2010 अल्टीमेट वर्जन 10.0.40219.1 SP1Rel के लिए मेरे फ़ाइल मेनू पर दिखाई नहीं देता है।
DOK

1
दृश्य स्टूडियो 2010 में मेरे फ़ाइल मेनू पर @DOK, यह करता है प्रीमियम संस्करण !!
पीटर

4
यदि आप विकल्प नहीं देख सकते हैं तो आप टूल-> कस्टमाइज़ करके, कमांड टैब पर जाकर और कमांड जोड़कर अपने फ़ाइल मेनू को कस्टमाइज़ कर सकते हैं।
रोब

क्या एक सामान्य सेटिंग है जो सभी फाइलों को एक साथ प्रभावित करती है? एक दर्द एक समाधान के तहत सभी स्रोतों के लिए ऐसा करने के लिए।
क्लॉस

12

विकल्प को चालू / बंद करने के लिए, मेनू बार से नीचे दिए चरणों का पालन करें :

उपकरणविकल्पपर्यावरणदस्तावेज़लोड पर लगातार लाइन अंत के लिए जाँच करें


7

आपके द्वारा संपादित की जा रही फ़ाइल को कुछ अन्य संपादक के साथ संपादित किया गया है जो एक ही लाइन एंडिंग का उपयोग नहीं करते हैं, जिसके परिणामस्वरूप मिश्रित लाइन एंडिंग वाली फ़ाइल होती है।

लाइन अंत के लिए उपयोग में ASCII वर्ण हैं:

सीआर, कैरिज रिटर्न
एलएफ, लाइन फीड

विंडोज = CRLF
मैक ओएस 9 या पहले = सीआर
यूनिक्स = एलएफ


6

विकिपीडिया newline लेख आपकी मदद कर सकता है। यहाँ एक अंश है:

अलग-अलग न्यूलाइन कन्वेंशन अक्सर टेक्स्ट फ़ाइलों का कारण बनते हैं जिन्हें विभिन्न प्रकार के सिस्टमों के बीच गलत तरीके से प्रदर्शित किया जाता है। उदाहरण के लिए, यूनिक्स या ऐप्पल मैकिन्टोश सिस्टम पर उत्पन्न होने वाली फाइलें माइक्रोसॉफ्ट विंडोज पर चल रहे कुछ कार्यक्रमों में एक लंबी लाइन के रूप में दिखाई दे सकती हैं। इसके विपरीत, जब यूनिक्स प्रणाली पर विंडोज कंप्यूटर से उत्पन्न होने वाली फाइल को देखने पर, अतिरिक्त CR को ^ M या प्रत्येक पंक्ति के अंत में या दूसरी पंक्ति के विराम के रूप में प्रदर्शित किया जा सकता है।


5

इसका अर्थ यह है कि, उदाहरण के लिए, <Carriage Return><Linefeed>(Windows मानक) के साथ पाठ की आपकी कुछ पंक्तियाँ , और कुछ अंत केवल एक <Linefeed>(Unwanted मानक) के साथ।

यदि आप 'हाँ' पर क्लिक करते हैं, तो आपकी स्रोत फ़ाइल की अंत-पंक्तियाँ सभी समान प्रारूप में परिवर्तित हो जाएंगी।

इससे संकलक (क्योंकि अंत में लाइन को केवल व्हाट्सएप के रूप में गिना जाता है) पर कोई फर्क नहीं पड़ेगा, लेकिन इससे अन्य उपकरणों (जैसे आपके संस्करण नियंत्रण प्रणाली पर 'अंतर') में कुछ अंतर हो सकता है।


4

यह केवल विजुअल स्टूडियो नहीं है ... यह कोई भी उपकरण होगा जो फाइलों, कंपाइलरों, लिंकर्स आदि को पढ़ता है, जिन्हें इसे संभालने में सक्षम होना चाहिए।

सामान्य तौर पर (सॉफ़्टवेयर डेवलपमेंट के लिए) हम मल्टीप्लायर लाइन को समाप्त करने वाले मुद्दे को स्वीकार करते हैं, लेकिन संस्करण नियंत्रण सॉफ्टवेयर को इससे निपटने दें।


1
मैं सहमत हूँ। अपने SCM सिस्टम को ऐसा करने के लिए सबसे अच्छा है। यदि आप svn का उपयोग कर रहे हैं, तो भी देखें stackoverflow.com/questions/15687/…
kgriffs

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

3

जब आप वेब से कुछ कॉपी पेस्ट करते हैं, तो आप असंगत लाइन एंडिंग प्राप्त कर सकते हैं।
इसे ठीक करने के लिए, आप विज़ुअल स्टूडियो एक्सटेंशन "लाइन एंडिंग यूनिफ़ायर" का उपयोग कर सकते हैं, जो फ़ाइल को सहेजते समय लाइन को स्वचालित रूप से संगत बना सकता है।

यहां छवि विवरण दर्ज करें


2

Visual Studio 2008 के लिए एक ऐड-इन है जो किसी फ़ाइल को सहेजे जाने पर लाइन प्रारूप के अंत को परिवर्तित करता है। आप इसे यहाँ डाउनलोड कर सकते हैं: http://grebulon.com/software/stripem.php


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