Xcode में ट्रेलिंग स्पेस को ट्रिम करें


103

फ़ाइल को सहेजते समय अनुगामी व्हाट्सएप ट्रिम करने के लिए Xcode के लिए बाध्य करने का कोई तरीका है?

मैं संस्करण 3.1.3 का उपयोग कर रहा हूँ अगर यह मायने रखता है।

जवाबों:


22

आप एक स्क्रिप्ट बना सकते हैं और इसे कीबोर्ड शॉर्टकट से बांध सकते हैं:

  • चुनते हैं लिपियों का मेनू> उपयोगकर्ता लिपियों को संपादित करें ...
  • + बटन दबाएं और चुनें New Shell Script चुनें
  • इसे "स्ट्रिप ट्रेलिंग स्पेस" जैसा नाम दें, और इसे ⌃⇧R की तरह शॉर्टकट दें।
  • "चयन" और "बदलें चयन" के लिए आउटपुट के लिए इनपुट सेट करें

फिर निम्न स्क्रिप्ट दर्ज करें:

#!/usr/bin/perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}

9
आह, हाँ, इतना आसान ... धन्यवाद। क्या फ़ाइल को सहेजने के लिए इसे संबद्ध करने का कोई तरीका है?
अलेक्जेंडर ग्लैडीश

एक संपूर्ण फ़ाइल पर काम करने के लिए (जो शायद आप क्या करना चाहते हैं), इनपुट को "संपूर्ण दस्तावेज़" और आउटपुट को "दस्तावेज़ सामग्री बदलें" पर सेट करें। हालाँकि, यह कर्सर को फ़ाइल के नीचे छोड़ता है।
SMBiggs

7
यह उत्तर Xcode 4.4 के रूप में अप्रचलित है। मार्टिन स्टोलज़ द्वारा उत्तर देखें।
बासिल बोर्के

239

Xcode से शुरू होकर 4.4 व्हाट्सएप स्वचालित रूप से डिफ़ॉल्ट रूप से ट्रिम हो जाएगा, जब तक कि लाइन सभी व्हाट्सएप न हो। आप इसे Including whitespace-only linesठीक करने के लिए भी सक्रिय कर सकते हैं , जो डिफ़ॉल्ट रूप से सक्रिय नहीं है।

के लिए जाओ Xcode > Preferences > Text Editing > While editing

Xcode प्राथमिकताएँ स्क्रीनशॉट


15
यह सेटिंग केवल एक लाइन के अनुगामी व्हाट्सएप को ट्रिम करती है जब कर्सर उस लाइन को छोड़ देता है। तो, यह अभी भी आपको फ़ाइल को व्हॉट्सएप की एक लाइन के साथ सहेजने की अनुमति देता है, यदि कर्सर उस लाइन पर सेव पर है।
ma11hew28

7
पृथ्वी पर यह डिफ़ॉल्ट क्यों नहीं है? यदि आपके पास एक मौजूदा फ़ाइल है जिसमें पीछे की ओर व्हाट्सएप है, तो सभी को चिह्नित करें, काटें, सहेजें, पेस्ट करें, सहेजें।
फ्राइडेरब्लुमेले

इस उत्तर पर हैकी स्क्रिप्ट समाधान को ओवरराइड करने की आवश्यकता है।
उरदा

7
ctrl-iसभी मौजूदा फाइलों पर इस + का उपयोग करने से
व्हाट्सएप का पता चलता है

24

मैं मैक टूलकिन प्लग इन के लिए Google टूलबॉक्स का उपयोग कर रहा हूं , यह एक "सही व्हाट्सएप ऑन सेव" पैरामीटर जोड़ता है जो सेविंग पर व्हाट्सएप ट्रिम करता है। मुझे याद है कि emacs से बहुत कुछ।


1
मैं इस प्लगइन का उपयोग कर रहा हूँ। यह वही करता है जो यह कहता है।
नाथन

सही होगा, दुर्भाग्य से यह Xcode 4 पर इस समय काम नहीं करता है :(
गहरा

6
अब हमारे पास कुछ बुनियादी Xcode 4 समर्थन हैं। हमारा नया प्लगइन
dmaclach

1
मैं "सही पर व्हॉट्सएप को सही" पैरामीटर कहां से पा सकता हूं?
झाप्स

मैं आखिरकार Xcode 4.3.2 पर GTM को काम में लाने में कामयाब रहा, लेकिन GTM विकी से इंस्टॉलेशन निर्देश अवैध लग रहे थे। इसके बजाय .xcplugin को ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins(Google के निर्देशों के अनुसार) रखने के बजाय मुझे इसे अंदर रखना था /Applications/Xcode.app/Contents/PlugInsऔर Xcode को पुनरारंभ करना था।
क्रिस्टोफर सोमेस्ताद

3

Xcode 8 के लिए, मैंने तैराक को स्थापित किया स्विफ्ट कोड को प्रारूपित करने के लिए Xcode प्लग-इन , जिसने सभी अनुगामी रिक्त स्थान और व्हाट्सएप-केवल लाइनों को हटा दिया।

स्थापना के तरीके

  1. Homebrew-cask के माध्यम से स्थापित करें:

    brew cask install swimat
  2. सीधे ऐप डाउनलोड करें:
    https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip

  3. extensionमैक ऐप के लिए क्लोन शाखा और संग्रह।

प्रयोग

एक बार स्थापित होने पर, आप Xcode के माध्यम से Swimat चला सकते हैं Editor -> Swimat -> Format


यह उपकरण रिक्त लाइनों को न निकालें।
मेहदिको

1

यह Xcode 3.2 में संभव नहीं है

संपादित करें:

मैंने इस सवाल का इतनी संक्षेप में जवाब दिया क्योंकि इसे ठीक से करने का कोई तरीका नहीं है

बेशक, चूंकि यह सॉफ्टवेयर है, आप कुछ भी कर सकते हैं: इनपुट प्रबंधक हैक्स या कोड इंजेक्शन के अन्य तरीकों से सिस्टम वाइड कीबोर्ड अवरोधन से शुरू करके, आप अपने स्थानीय सिस्टम को कभी भी कुछ भी करने के लिए बदल सकते हैं। आप अपने स्रोत कोड फ़ाइलों को देखने के लिए एक अप्प्लस्क्रिप्ट फ़ोल्डर कार्रवाई (अर्ग) स्थापित कर सकते हैं या एक लॉन्च दानव और FSEvents सुविधा का उपयोग कर सकते हैं।

आप Xcode में कुछ स्क्रिप्ट भी जोड़ सकते हैं (मेनू में उपयोगकर्ता स्क्रिप्ट, लक्ष्यों में स्क्रिप्ट चरण, आयोजक में कस्टम क्रियाएँ, यहां तक ​​कि अनजान संभावना भी एक स्टार्टअप स्क्रिप्ट है), लेकिन ये सभी समाधान त्रुटिपूर्ण हैं, क्योंकि इसमें शामिल है उपयोगकर्ता या उपयोगकर्ता की मशीन पर कस्टम सेटअप।

मुझे एक ऐसे समाधान की जानकारी नहीं है, जो SCM की किसी परियोजना की जाँच करने के बाद काम करता है। मेरा मानना ​​है कि इसके लिए और इसी तरह की अनुकूलन स्क्रिप्ट की आवश्यकता है, इसलिए मैंने एक बग दर्ज किया (रडार 7203835, "फ़ीचर: Xcode वर्कफ़्लो में अधिक उपयोगकर्ता स्क्रिप्ट ट्रिगर")। मुझे अभी तक कोई प्रतिक्रिया नहीं मिली।

यहाँ राडार प्रविष्टि का पूरा पाठ है:

Xcode में स्क्रिप्ट चलाने के लिए अधिक स्थान होना उपयोगी होगा।

उदाहरण:

  1. प्री बिल्ड स्क्रिप्ट्स
    प्री बिल्ड स्क्रिप्ट्स का इस्तेमाल * .xcconfig फाइल्स या config.h हेडर्स जैसे पूर्वापेक्षाएँ बनाने के लिए किया जा सकता है। यह "रन स्क्रिप्ट बिल्ड चरणों" के साथ संभव नहीं है, क्योंकि किसी भी निर्माण चरण शुरू होने से पहले निर्भरता ट्रैकिंग होती है।


  2. ऊपर के समान स्क्रिप्ट का निर्माण करें , लेकिन निर्माण समाप्त होने के बाद चल रहा है (कोड हस्ताक्षर आदि सहित)। अतिरिक्त पैकेजिंग, वैधता जाँच आदि के लिए उपयोगी।

  3. एससीएम प्रतिबद्ध लिपियों के पूर्व / बाद।
    परियोजना अखंडता की जांच करने के लिए।

  4. प्री / पोस्ट फाइल सेव स्क्रिप्ट।
    सहेजने से पहले किसी फ़ाइल को जांचना / बदलना। उदा। कोड़ी ब्यूटिफायर चलाएं

  5. कस्टम परियोजना की कार्रवाई।
    मुझे आयोजक की मनमानी कार्यों को परिभाषित करने की क्षमता के बारे में पता है। लेकिन यह एक प्रति उपयोगकर्ता सुविधा है (परियोजना का हिस्सा नहीं)। मैं बिल्ड या क्लीन जैसी क्रियाओं को परिभाषित करना चाहता हूं जो बिल्ड मेनू में दिखाई देते हैं और जो एक प्रोजेक्ट का हिस्सा हैं।


जवाब देने के लिए संपादित किया गया कि क्यों इस मामले में वर्कअराउंड असंतोषजनक है
निकोलाई रुहे

2
धन्यवाद। जब मैं इसे उचित तरीके से करने के पक्ष में हूं, तो मैं किसी भी गैर-घुसपैठ हैक के लिए समझौता करूंगा। वे अतिरिक्त व्हाट्सएप वास्तव में कष्टप्रद हैं।
अलेक्जेंडर ग्लैडीश


0

स्क्रिप्ट, हैक्स और बहुत कुछ का उपयोग किए बिना सबसे अच्छा और आसान तरीका। स्क्रिप्ट, हैक्स और बहुत कुछ का उपयोग किए बिना सबसे अच्छा और आसान तरीका ढूंढें और बदलें। बस ढूँढें और बदलें पर जाएं और "ऑल्ट / ऑप्शन + स्पेस" दबाएं और रिप्लेस बार में "स्पेस" बटन दबाएं और फिर सभी रिप्लेस पर क्लिक करें। यह व्हाट्सएप को सामान्य स्थानों से बदल देगा और चेतावनी / त्रुटि दूर हो जाएगी !!


1
क्या यह केवल प्रश्न में अनुरोध के अनुसार अनुगामी रिक्त स्थान को निकालता है ?
ब्लास्टफर्नेस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.