ग्रहण में ट्रेलिंग व्हाट्सएप को ऑटो-रिमूव कैसे करें?


422

प्रश्न के दो भाग हैं, जिनमें से एक का उत्तर मेरे पास पहले से है।

  1. सम्पूर्ण फ़ाइल से ट्रैशिंग व्हाट्सएप को ऑटो- एडिट कैसे करें? -> उत्तर: AnyEdit प्लगइन का उपयोग करें , जो कि फाइल को किसी भी सेव पर करने के लिए सेट किया जा सकता है।
  2. केवल मेरे द्वारा बदली गई लाइनों से अनुगामी व्हाट्सएप को ऑटो-रिमूव कैसे करें ? -> यह मुझे नहीं पता और किसी भी मदद की सराहना करेंगे।

97
मुझे खुशी होगी कि अगर मैं ग्रहण को अनुगामी व्हॉट्सएप पर जोड़ना बंद कर सकूं जो मैंने टाइप नहीं किया।
डाइवेजेक

5
आप एक प्लगइन की जरूरत नहीं है। बस C ++ -> Editor -> Save Actions का उपयोग करें। साथ ही जनरल -> एडिटर्स -> टेक्स्ट एडिटर्स -> व्हॉट्सएप कैरेक्टर दिखाएं (विस्तृत सेटिंग्स के लिए इस पर क्लिक करें) बेहद उपयोगी है।
ट्रैस

3
डिफ़ॉल्ट सेव एक्शन जावा डॉक टिप्पणियों में अनुगामी व्हाट्सएप ट्रिम नहीं करता है। इसके अलावा, यह इस तथ्य से सीमित है कि यह केवल जावा फाइलों पर काम करता है। हमारे पास एक कोड समीक्षा प्रणाली है जो त्रुटियों के रूप में सभी अनुगामी सफेद स्थानों को चिह्नित करती है। AnyEdit सभी फ़ाइल प्रकारों के लिए व्हाट्सएप का पता लगाने के लिए अमूल्य है। साथ ही, यह पता लगाना उपयोगी हो सकता है कि आपकी कंपनी के पास तीसरे भाग के सॉफ़्टवेयर के लिए क्या प्रतिबंध हैं। AnyEdit प्लगइन एक ईपीएल लाइसेंस (है opensource.org/licenses/eclipse-1.0.php :) [यहाँ से andrei.gmxhome.de/anyedit/index.html]
आशुतोष जिंदल

1
मैं यह पता नहीं लगा सका कि अचानक लाइनों के अंत में सफेद स्थान क्यों हटा दिए जाते हैं, जब तक कि मैंने आपके प्रश्न को नहीं देखा और यह पाया कि यह AnyEditPlugin का becuase था। धन्यवाद!
तज़फ़रिर

जवाबों:


142
  1. संपादित की जा रही संपूर्ण फ़ाइल से व्हाट्सएप हटाना :

Preferences-> Java-> Editors-> Save Actions-> चेक Perform the selected actions on save-> चेक Additional actions-> क्लिक Configure..-> Code organizingटैब पर जाएं -> चेक Remove trailing whitespace-> चुनें All lines

  1. केवल मेरे द्वारा परिवर्तित लाइनों से व्हाट्सएप हटाना :

Preferences-> Java-> Editor-> Save Actions-> चेक " Perform the selected actions on save-> चेक Format source code-> का चयन करें Format edited lines

ध्यान दें कि क्लिक करने के लिए आवश्यक नहीं है Configure the formatter settings on the Formatter page- सभी कोड शैलियों में स्वचालित रूप से अनुगामी व्हाट्सएप को निकालना शामिल है। कम से कम मुझे फॉर्मैटर कॉन्फ़िगरेशन में इसके लिए कोई सेटिंग नहीं मिली, और इसने बिल्ट-इन जावा कन्वेंशन, एक्लिप्स, एक्लिप्स 2.1 शैलियों के साथ-साथ GoogleStyle के लिए भी काम किया

इस सेट-अप का उपयोग करते समय, आपको स्पष्ट रूप से प्रश्न के भाग 1 के समाधान को भी बंद करना होगा।

Eclipse version checked: 4.5.2, 4.11

मैं प्रारूप को कैसे परिभाषित करूं? क्या मैं फ़ॉर्मेटर लिंक या कॉन्फ़िगर बटन का उपयोग करता हूं?
विजय कोटरी

यह विकल्प पीडीएफ़ के साथ-साथ Save Actions के तहत भी दिखाई देता है।
thaddeusmt

1
@VijayKotari उत्तर संपादित किया गया है - एक प्रारूप को परिभाषित करने की आवश्यकता नहीं है।
Jan :05ankowski

350

मुझे लगता है कि आपके प्रश्न जावा कोड के संबंध में हैं। यदि ऐसा है, तो आपको वास्तव में 1 को पूरा करने के लिए किसी भी अतिरिक्त प्लगइन्स की आवश्यकता नहीं है)। आप बस प्राथमिकताएं -> जावा -> संपादक -> कार्य सहेजें और अनुगामी व्हाट्सएप को हटाने के लिए इसे कॉन्फ़िगर कर सकते हैं ।

की आवाज़ से आप भी इसे एक टीम-व्यापी सेटिंग बनाना चाहते हैं, है ना? जीवन को आसान बनाने के लिए और इसे याद रखने से बचने के लिए हर बार जब आपके पास एक नया कार्यक्षेत्र होता है तो आप एक परियोजना विशिष्ट वरीयता के रूप में सेव क्रिया को सेट कर सकते हैं जो कोड के साथ आपके एससीएम में संग्रहीत हो जाती है।

अपनी परियोजना पर उस राइट-क्लिक को करने के लिए और गुण -> जावा संपादक -> सहेजें कार्य पर जाएँ । वहां से आप प्रोजेक्ट विशिष्ट सेटिंग्स को सक्षम कर सकते हैं और ट्रेलिंग व्हाट्सएप (अन्य उपयोगी चीजों के बीच) को हटाने के लिए इसे कॉन्फ़िगर कर सकते हैं।

NB : यह विकल्प एक्लिप्स केपलर (4.3) और निम्नलिखित रिलीज में हटा दिया गया है।

नायब # 2: विकल्प वापस लूना में लगता है -Luna Service Release 1a (4.4.1)


2
धन्यवाद, gcastro - यह AnyEdit की तुलना में आसान है। दुर्भाग्य से, यह पूरी फ़ाइल के लिए संपादित किया जा रहा है .. फिर भी यह नहीं जानता कि मैं इसे केवल उन लाइनों के लिए कैसे करूं जिन्हें मैंने बदल दिया था - ऐसा लगता है कि यह अभी असंभव है।
Jan 14:ankowski

7
जावा के लिए अच्छा है; C / C ++ के लिए भी अच्छा है; लेकिन PyDev में पायथन के लिए नहीं।
क्रेग मैकक्वीन

14
PyDev में Python के लिए, मैंने इसके लिए एक फीचर अनुरोध किया है। देखें: sourceforge.net/tracker/…
Craig McQueen

5
FYI करें ... PHP के लिए एक ही अवधारणा। वरीयताएँ -> PHP -> संपादक -> कार्रवाई सहेजें।
seanmrafferty

1
मुझे नहीं पता कि यह कभी काम किया है, लेकिन यह निश्चित रूप से एक्लिप्स (केप्लर) के नवीनतम संस्करण में काम नहीं करता है। आप फ़ॉर्मेटर को केवल संपादित लाइनों पर ही चला सकते हैं, लेकिन व्हाट्सएप को ट्रिम करना सभी लाइनों तक सीमित है या खाली लाइनों को अनदेखा करना - वास्तव में कष्टप्रद है।
Thor84no

73

ऐसा करने के लिए आपको किसी प्लगइन की आवश्यकता नहीं है। उदाहरण के लिए, यदि आप JAVA को कोड करते हैं, तो आप बचाने वाले कार्यों को कॉन्फ़िगर करने वाले व्हाट्सएप को मिटा सकते हैं:

ग्रहण 3.6

Preferences-> Java-> Editors-> Save Actions-> चेक Perform the selected actions on save-> चेक Additional actions-> Configure..बटन पर क्लिक करें।

में Code organizingटैब में, देखेंRemove trailing whitespace


4
यह पहला उत्तर है जो विशेष रूप से "अनुगामी व्हाट्सएप को हटाएं" के लिए "अतिरिक्त कार्यों" के तहत देखने की सलाह देता है। धन्यवाद।
डेविड आरआर

7
यह केवल
.java

ग्रहण के लिए काम करता है 4.12
मटिल्डा Smeds

46

PyDev इसे Ctrl+ Shift+ करके भी कर सकता है Fयदि आपके पास इसे करने के लिए कोड फ़ॉर्मेटर विकल्प है, या इसके द्वारा during saving:

Eclipse-> Window-> Preferences-> PyDev-> Editor-> Code Style-> Code Formatter:

मैं कम से कम इनका उपयोग करता हूं:

  • बचत से पहले ऑटो प्रारूप
  • सही ट्रिम लाइनों?
  • फ़ाइल के अंत में नई लाइन जोड़ें

5
यह केवल संपादित लाइनों से अंतरिक्ष छीनने के सवाल को कवर नहीं करता है । यह एक खतरनाक विशेषता भी है क्योंकि यह सभी कोड फॉर्मेटर विकल्पों को चलाता है और एक अनियंत्रित विकल्प "उपेक्षा / उपयोग न करें" के समान नहीं है। पूर्व: यदि "कॉमा के बाद स्थान का उपयोग करें" अनियंत्रित है कोड स्वरूप विकल्प की अनदेखी करने के बजाय उन रिक्त स्थान को हटा देगा ।
जेसीटन

7
PyDev कोड फॉर्मैटर में एक नया विकल्प है: सेव पर, केवल परिवर्तित लाइनों में स्वरूपण लागू करें।
वार्वारियुक

2
-1 बहुत सामान्य उत्तर देने के लिए - सवाल सिर्फ सफेद जगह का था; ऑटो कोड फ़ॉर्मेटिंग को सक्षम करने का मतलब है कि आपका स्रोत कमिट करना उनमें अनियोजित सामान रखना शुरू कर देगा, जिससे एक गड़बड़ इतिहास पैदा होगा क्योंकि कमिट्स में सामान होता है जो प्रतिबद्ध शीर्षक से असंबंधित है।
एरिक कपलुन


19

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

एक अन्य रणनीति व्हॉट्सएप के दृश्य प्रदर्शन को सक्रिय करना है, इसलिए कम से कम आपको पता चल जाएगा कि आप कुछ ट्रेलिंग व्हाट्सएप जोड़ रहे हैं। जहां तक ​​मुझे पता है, हालांकि केवल व्हाट्सएप को पीछे छोड़ते हुए प्रदर्शित करने का कोई तरीका नहीं है, लेकिन मुझे गलत साबित होने में खुशी होगी।


इस उत्तर के लिए बहुत बहुत धन्यवाद! अब तक यह एकमात्र तरीका है जो मैंने अप्टाना प्लगइन के लिए पाया है।
इगोर Zinov'yev

11

एक चुटकी में, उन संपादकों के लिए जो अनुगामी व्हाट्सएप को हटाने का समर्थन नहीं करते हैं (उदाहरण के लिए XML संपादक), आप इसे एक खोज और प्रतिस्थापित करके सभी पंक्तियों से हटा सकते हैं, नियमित अभिव्यक्ति को सक्षम कर सकते हैं, फिर "[\ t] पा सकते हैं। + $ "और इसे" "(रिक्त) के साथ प्रतिस्थापित करना। शायद ऐसा करने के लिए एक बेहतर रेगेक्स है, लेकिन यह मेरे लिए AnyEdit को स्थापित करने की आवश्यकता के बिना काम करता है।


9

मैं AnyEdit भी कहूंगा। यह यह विशिष्ट कार्यक्षमता प्रदान नहीं करता है। हालाँकि, यदि आप और आपकी टीम प्रत्येक सेव क्रिया पर AnyEdit सुविधाओं का उपयोग करते हैं, तो जब आप कोई फ़ाइल खोलते हैं, तो उसके पास कोई अनुगामी व्हाट्सएप नहीं होना चाहिए।

इसलिए, यदि आप इस फ़ाइल को संशोधित करते हैं, और यदि आप नई अनुगामी रिक्त स्थान जोड़ते हैं, तो सेव ऑपरेशन के दौरान, AnyEdit केवल इन नए स्थानों को हटा देगा, क्योंकि वे इस फ़ाइल में केवल अनुगामी स्थान हैं।

यदि, कुछ कारणों से, आपको उन लाइनों पर अनुगामी रिक्त स्थान रखने की आवश्यकता है जो आपके द्वारा संशोधित नहीं किए गए थे , तो मेरे पास आपके लिए कोई जवाब नहीं है, और मुझे यकीन नहीं है कि किसी भी ग्रहण प्लगइन में इस तरह की सुविधा मौजूद है ...


4
हां, मैं अपने द्वारा संशोधित लाइनों पर रिक्त स्थान नहीं रखना चाहूंगा .. यह इंटेलीज आइडिया का डिफ़ॉल्ट व्यवहार है (मेरी रेखाओं पर रिक्त स्थान हटाएं, उन्हें दूसरों पर रखें), और मैं चाहता हूं कि ग्रहण में । जवाब के लिए धन्यवाद।
Jan 11ankowski

8

यह है असंभव अभी सामान्य तरीके से ग्रहण में यह करने के लिए, लेकिन यह बदला जा सकता है बुनियादी जावा ज्ञान और कुछ खाली समय इस के लिए बुनियादी समर्थन जोड़ने के लिए साथ दी https://bugs.eclipse.org/bugs/show_bug.cgi? आईडी = 180,349

निर्भर मुद्दा: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173



4

यह वास्तव में आसान तरीका है जो कि sed, Unix कमांड लाइन टूल के साथ है। आप शायद इसे चलाने के लिए ग्रहण में एक मैक्रो बना सकते हैं:

sed -i 's/[[:space:]]*$//' <filename>

4

जैसा कि @Malvineous ने कहा, यह पेशेवर नहीं है, लेकिन अनुगामी स्थान (नीचे टैब U + 0009 और व्हॉट्सएप U + 0020 सहित) को हटाने के लिए फाइंड / रिप्लेसमेंट विधि का उपयोग करने के लिए एक काम है।
बस Ctrl + F (या कमांड + F) दबाएं

  1. खोज [\t ][\t ]*$
  2. रिक्त स्ट्रिंग के साथ बदलें
  3. रेगुलर एक्सप्रेशन का इस्तेमाल करें
  4. सबको बदली करें

अतिरिक्त:
अग्रणी स्थान को हटाने ^[\t ][\t ]*के [\t ][\t ]*$
लिए, रिक्त लाइनों को हटाने के लिए, ढूँढें^\s*$\r?\n


1
कैसे के [\t ]+$बजाय के बारे में [\t ][\t ]*$?
जोनाह ग्राहम 14

1

मुझे आपके प्रश्न के दूसरे भाग के लिए किसी भी समाधान की जानकारी नहीं है। कारण यह है कि यह स्पष्ट नहीं है कि मुझे कैसे परिभाषित करना है । कब बदला? बस 2 बचाता है या कमिट के बीच ... मूल रूप से - इसे भूल जाओ।

मुझे लगता है कि आप कुछ दिशानिर्देशों से चिपके रहना चाहते हैं, लेकिन बाकी कोड को न छूएं। लेकिन दिशानिर्देश का उपयोग समग्र रूप से किया जाना चाहिए, और काटने और टुकड़ों के लिए नहीं। तो मेरा सुझाव है - सभी कोड को दिशानिर्देश में बदलें: यह एक बार बंद होने वाला ऑपरेशन है, लेकिन सुनिश्चित करें कि आपके सभी डेवलपर्स के पास प्रोजेक्ट के लिए समान सेटिंग्स के साथ एक ही प्लगइन (AnyEdit) है।


7
चूंकि यह एक सेव एक्शन है इसलिए यह सेव्स के बीच की लाइनों को बदल देगा। साइड बार में मार्किंग के लिए ग्रहण पहले से ही इन लाइनों का ट्रैक रखता है।
Starblue

0

मैंने इस कमांड का उपयोग git के लिए किया है: git config --global core.whitespace cr-at-eol

यह उन ^Mपात्रों को हटा देता है जो अनुगामी हैं।

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