কীভাবে গ্রহনটিতে ট্রেলিং হোয়াইটস্পেসটি স্বয়ংক্রিয়ভাবে সরানো যায়?


422

প্রশ্নের দুটি অংশ রয়েছে যার একটির ইতিমধ্যে আমার কাছে উত্তর রয়েছে।

  1. সম্পাদিত পুরো ফাইলটি থেকে পেছনের সাদা স্থানটি কীভাবে স্বয়ংক্রিয়ভাবে সরানো যায় ? -> উত্তর: যেকোনইডিট প্লাগইনটি ব্যবহার করুন , এটি ফাইলের জন্য কোনও সেভ করার জন্য সেট করা যেতে পারে।
  2. কেবলমাত্র আমার পরিবর্তিত রেখাগুলি থেকে পেছনের সাদা স্থানটিকে কীভাবে স্বয়ংক্রিয়ভাবে সরিয়ে ফেলা যায় ? -> এটি আমি জানি না এবং কোনও সাহায্যের প্রশংসা করব।

97
আমি খুশি হব যদি আমি কেবলমাত্র গ্রহকে বোঝাতে পারি যে আমি টাইপ না করে এমন সাদা স্থানের স্থান যোগ করা বন্ধ করে দিতে পারি।
ডিভিজেক

5
আপনার একটি প্লাগইন লাগবে না। কেবল সি ++ -> সম্পাদক -> ক্রিয়াগুলি সংরক্ষণ করুন। এছাড়াও সাধারণ -> সম্পাদক -> পাঠ্য সম্পাদক -> শ্বেতক্ষেত্রের অক্ষরগুলি দেখান (বিস্তারিত সেটিংসের জন্য এটিতে ক্লিক করুন) অত্যন্ত কার্যকর।
Trass3r

3
ডিফল্ট সংরক্ষণের ক্রিয়াটি জাভা ডক মন্তব্যে পূর্ববর্তী হোয়াইটস্পেসগুলি ট্রিম করে না। এছাড়াও, এটি কেবল জাভা ফাইলগুলিতে কাজ করে তা সীমাবদ্ধ। আমাদের কাছে একটি কোড পর্যালোচনা সিস্টেম রয়েছে যা শ্বেত স্থানগুলির ত্রুটি হিসাবে চিহ্নিত করে। যেকোন এডিট সমস্ত ধরণের ফাইলের জন্য হোয়াইটস্পেসগুলি অনুসরণ করার জন্য মূল্যবান। এছাড়াও, তৃতীয় অংশের সফ্টওয়্যারগুলির জন্য আপনার সংস্থার কী কী বিধিনিষেধ রয়েছে তা সন্ধান করা কার্যকর হতে পারে। যেকোনইডিট প্লাগইনের একটি ইপিএল লাইসেন্স রয়েছে ( opensource.org/license/eclipse-1.0.php ) [এখান থেকে: andrei.gmxhome.de/anyedit/index.html]
আশুতোষ জিন্দাল

1
আমি বুঝতে পারি না যে হঠাৎ করেই লাইনের শেষে সাদা স্পেসগুলি কেন সরিয়ে ফেলা হয়, যতক্ষণ না আমি আপনার প্রশ্নটি না দেখে এবং এটি কোনও অ্যাডিটপ্লাগিনের কারণে খুঁজে পাওয়া যায় না। ধন্যবাদ!
Tzafrir

উত্তর:


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- সমস্ত কোড শৈলীতে স্বয়ংক্রিয়ভাবে পেছনের সাদা স্থান সরানো অন্তর্ভুক্ত। কমপক্ষে আমি ফর্ম্যাটর কনফিগারেশনে এটির জন্য কোনও সেটিংস খুঁজে পাইনি এবং এটি অন্তর্নির্মিত জাভা কনভেনশনস, অ্যাকলিপস , ইক্লিপস ২.১ স্টাইলগুলির পাশাপাশি গুগল স্টাইলের বাক্সের বাইরে কাজ করেছে ।

এই সেট-আপটি ব্যবহার করার সময়, আপনাকে অবশ্যই প্রশ্নের অংশ 1 এর সমাধানটি বন্ধ করতে হবে।

Eclipse version checked: 4.5.2, 4.11

আমি কীভাবে ফর্ম্যাটটি সংজ্ঞায়িত করব? আমি কি ফর্ম্যাটর লিঙ্ক বা কনফিগার বোতামটি ব্যবহার করব?
বিজয় কোটারি

এই বিকল্পটি পিএইচপি-র জন্য পিডিটি-তেও সংরক্ষণ ক্রিয়াগুলির অধীনে উপস্থিত হয়।
thaddeusmt

1
@ বিজয়কোটারী উত্তর সম্পাদনা করা হয়েছে - একটি বিন্যাস সংজ্ঞায়িত করার প্রয়োজন নেই।
জানু কনভস্কি

350

আমি ধরে নিচ্ছি আপনার প্রশ্নগুলি জাভা কোডের সাথে সম্পর্কিত। যদি এটি হয় তবে আপনার 1 টি সম্পন্ন করতে আসলে কোনও অতিরিক্ত প্লাগইন লাগবে না। আপনি কেবল অগ্রাধিকারগুলিতে যেতে পারেন -> জাভা -> সম্পাদক -> ক্রিয়াকলাপগুলি সংরক্ষণ করুন এবং এটিকে পূর্ববর্তী সাদা স্থান সরানোর জন্য কনফিগার করতে পারেন

এর শব্দ শুনে আপনিও এটিকে একটি টিম-ব্যাপী সেটিং করতে চান, তাই না? জীবনকে সহজ করে তুলতে এবং প্রতিবার নতুন কর্মক্ষেত্র স্থাপনের বিষয়টি মনে রাখতে না পারলে আপনি কোডের সাথে আপনার এসসিএমে সঞ্চিত হয়ে যায় এমন প্রকল্প নির্দিষ্ট পছন্দ হিসাবে সেভ অ্যাকশন সেট করতে পারেন।

এটি করতে আপনার প্রকল্পে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলিতে যান -> জাভা সম্পাদক -> ক্রিয়াগুলি সংরক্ষণ করুন । সেখান থেকে আপনি প্রকল্পের সুনির্দিষ্ট সেটিংস সক্ষম করতে পারেন এবং এটি অনুসরণযোগ্য সাদা স্থান (অন্যান্য দরকারী জিনিসের মধ্যে) সরাতে কনফিগার করতে পারেন।

এনবি : এই বিকল্পটি এক্লিপস কেপলার (৪.৩) এবং নিম্নলিখিত প্রকাশগুলিতে সরানো হয়েছে।

এনবি # 2: বিকল্পটি পুনরায়গ্রহণ লুনায় ফিরে আসবে বলে মনে হচ্ছে -Luna Service Release 1a (4.4.1)


2
ধন্যবাদ, গ্যাস্ট্রো - এটি এডিএডিটের চেয়ে সহজ। দুর্ভাগ্যক্রমে, এটি পুরো ফাইলটি সম্পাদিত হওয়ার জন্য .. এখনও কীভাবে এটি পরিবর্তন করতে হয় তা আমি জানি না কেবল পরিবর্তিত লাইনের জন্য - এটি সম্ভবত এখন অসম্ভব বলে মনে হচ্ছে।
জানু কনভস্কি

7
জাভা জন্য ভাল; সি / সি ++ এর জন্যও ভাল; কিন্তু পাইডিভের পাইথনের পক্ষে নয়।
ক্রেগ ম্যাককুইন

14
পাইডেভের পাইথনের জন্য, আমি এটির জন্য একটি বৈশিষ্ট্য অনুরোধ করেছি। দেখুন: Sourceforge.net/tracker/…
ক্রেগ ম্যাককুইন

5
FYI ... পিএইচপি জন্য একই ধারণা। পছন্দসমূহ -> পিএইচপি -> সম্পাদক -> ক্রিয়াকলাপগুলি সংরক্ষণ করুন।
সানম্রাফের্টি

1
আমি জানি না এটি কখনও কাজ করেছে কিনা, তবে এটি অবশ্যই Eclipse (কেপলার) এর সর্বশেষতম সংস্করণে কাজ করবে বলে মনে হচ্ছে না। আপনি কেবল সম্পাদিত রেখাগুলিতেই ফর্ম্যাটরটি চালাতে পারেন তবে হোয়াইটস্পেস ছাঁটাই সমস্ত লাইনের মধ্যে সীমাবদ্ধ বা খালি লাইন উপেক্ষা করে - সত্যই বিরক্তিকর।
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
এটি কেবল জাভা ফাইলগুলির জন্যই কাজ করে, আমি সাধারণত ডজনখানেক এক্সটেনশন নিয়ে কাজ করছি
এলডোসা

ইক্লিপস 4.12 এর জন্য কাজ করে
মাতিলদা এসমেডস

46

পাইডেভ এটি Ctrl+ Shift+ দ্বারা Fকরতে পারে যদি আপনার কাছে কোড ফর্ম্যাটারের বিকল্পটি সেট করা থাকে, বা এর দ্বারা during saving:

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

আমি কমপক্ষে এগুলি ব্যবহার করি:

  • সংরক্ষণের আগে অটো ফর্ম্যাট
  • ডান ট্রিম লাইন?
  • ফাইলের শেষে নতুন লাইন যুক্ত করুন

5
এটি কেবল সম্পাদিত লাইন থেকে স্থান কেটে ফেলার প্রশ্নটি কাভার করে না । এটি একটি বিপজ্জনক বৈশিষ্ট্য কারণ এটি সমস্ত কোড ফর্ম্যাটর অপশন চালায় এবং একটি চেক না করা বিকল্পটি "উপেক্ষা / ব্যবহার করবেন না" এর মতো নয়। উদাহরণস্বরূপ: "কমাগুলির পরে স্পেস ব্যবহার করুন" যদি চেক না করা থাকে তবে কোড ফর্ম্যাটর অপশনটি উপেক্ষা করার পরিবর্তে এই স্পেসগুলি সরিয়ে ফেলবে
জে কটন

7
পাইডিভ কোড ফরমেটারে একটি নতুন বিকল্প রয়েছে: সংরক্ষণের সময়, কেবল পরিবর্তিত লাইনে বিন্যাস প্রয়োগ করুন।
ওয়ারওয়ারিচ

2
খুব সাধারণ উত্তর দেওয়ার জন্য -1 question প্রশ্নটি ছিল কেবলমাত্র সাদা জায়গা সম্পর্কে; অটো কোড ফর্ম্যাটিং সক্ষম করার অর্থ আপনার উত্সের কমিটগুলি এগুলিতে অপরিকল্পিত স্টাফ তৈরি করা শুরু করবে, যা একটি অগোছালো ইতিহাস সৃষ্টি করবে কারণ কমিটগুলি এমন সামগ্রী রয়েছে যা প্রতিশ্রুতি শিরোনামের সাথে সম্পর্কিত নয়।
এরিক কাপলুন


19

আপনি পুরো ফাইলটিতে ম্যানুয়ালি ট্রায়ালিং হোয়াইটস্পেসগুলি সরিয়ে ফেলতে Eclipse এ একটি কী মানচিত্র করতে পারেন, তবে কেবলমাত্র অনুরোধে সংরক্ষণের পরিবর্তে স্বয়ংক্রিয়ভাবে সংরক্ষণ করুন। (পছন্দ / কীগুলি এবং তারপরে ফাইল / সরানোর ট্রায়ালিং হোয়াইটস্পেসে কীগুলির একটি সেট ম্যাপ করুন) আপনি যদি সমস্ত নতুন ফাইল স্যানিটাইজ করতে চান তবে লিগ্যাসি কোডটি অচ্ছুত রাখতে চান তবে এটি কার্যকর হতে পারে।

অন্য কৌশল হ'ল হোয়াইটস্পেসের ভিজ্যুয়াল ডিসপ্লে সক্রিয় করা, তাই আপনি যখন কিছু পিছনের সাদা জায়গা যোগ করবেন তখন কমপক্ষে আপনি জানতে পারবেন। যতদূর আমি জানি, কেবল পেছনের শ্বেতস্পেসের প্রদর্শন করার উপায় নেই তবে আমি ভুল প্রমাণিত হতে পেরে খুশি হব।


এই উত্তরের জন্য আপনাকে অনেক ধন্যবাদ! এতক্ষণে এটি একমাত্র উপায় যা আমি অ্যাপ্টানা প্লাগইনটির জন্য খুঁজে পেয়েছি।
ইগর জিনোভ'এভ

11

একটি চিমটি মধ্যে, সেই সম্পাদকগণ যেগুলি পুরোপুরি শ্বেত স্পেস অপসারণ সমর্থন করে না (যেমন এক্সএমএল সম্পাদক), আপনি নিয়মিত অভিব্যক্তি সক্ষম করে, তারপরে "[\ t] সন্ধানের মাধ্যমে এটি সমস্ত লাইন থেকে সরিয়ে ফেলতে পারেন [ + $ "এবং এটিকে" "(ফাঁকা) দিয়ে প্রতিস্থাপন করা হচ্ছে। এটি করার জন্য সম্ভবত আরও ভাল রেইগেক্স রয়েছে তবে এটি আমার জন্য কোনও অ্যাডিট ইনস্টল করার প্রয়োজন ছাড়াই কাজ করে।


9

আমিও যেকোনইডিট বলব। এটি এই নির্দিষ্ট কার্যকারিতা সরবরাহ করে না। তবে আপনি এবং আপনার টিম যদি প্রতিটি সেভ ক্রিয়াতে যেকোনইডিট বৈশিষ্ট্যগুলি ব্যবহার করে থাকেন, তবে আপনি যখন কোনও ফাইল খুলবেন তখন অবশ্যই কোনও পেছনের সাদা স্থান থাকতে হবে না।

সুতরাং, আপনি যদি এই ফাইলটি সংশোধন করেন এবং আপনি যদি নতুন ট্রেলিং স্পেস যোগ করেন তবে সেভ অপারেশনের সময়, যেকোনইডিট কেবল এই নতুন স্পেসগুলি সরিয়ে ফেলবে, কারণ তারা এই ফাইলটিতে কেবলমাত্র পেছনের স্থান রয়েছে।

যদি কোনও কারণে, আপনাকে যে লাইনে আপনার দ্বারা সংশোধিত করা হয়নি সেগুলি অনুসরণ করতে হবে , তবে আপনার কাছে আমার কোনও উত্তর নেই, এবং আমি নিশ্চিত নই যে কোনওग्रहগ্রহণ প্লাগইনে এই ধরণের বৈশিষ্ট্য উপস্থিত রয়েছে ...


4
হ্যাঁ, আমি শূন্যস্থানগুলি আমার দ্বারা সংশোধিত না হওয়া লাইনে রাখতে চাই .. এটি ইন্টেলিজ আইডিয়ার ডিফল্ট আচরণ (আমার লাইনে ফাঁকা স্থান সরিয়ে, অন্যকে রাখুন), এবং আমি তা গ্রহণ করতে চাই । উত্তরের জন্য ধন্যবাদ.
জানু কনভস্কি

8

এখনই জেনেরিক উপায়ে Eclipse এ এটি করা অসম্ভব তবে এটি প্রাথমিক জাভা জ্ঞানের সাথে এবং এই https://bugs.eclipse.org/bugs/show_bug.cgi এর প্রাথমিক সমর্থন যোগ করার জন্য কিছু ফ্রি সময় দিয়ে পরিবর্তন করা যেতে পারে ? আইডি = 180349

নির্ভরযোগ্য সমস্যা: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173



4

ইউনিক্স কমান্ড লাইন সরঞ্জামের সাথে সেডের সাথে এটি করার একটি খুব সহজ উপায় আছে। এটি চালানোর জন্য আপনি সম্ভবত গ্রহনটিতে একটি ম্যাক্রো তৈরি করতে পারেন:

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

4

@ মালভাইনয়াস যেমন বলেছিলেন, এটি অনুশীলনযোগ্য নয় তবে অনুসরণযোগ্য স্থানটি সরিয়ে ফেলতে অনুসন্ধান / প্রতিস্থাপন পদ্ধতিটি ব্যবহার করার জন্য (নীচে ট্যাব ইউ + 0009 এবং হোয়াইটস্পেস ইউ + 0020 সহ) সন্ধান করুন।
কেবল Ctrl + F (বা কমান্ড + এফ) টিপুন

  1. অনুসন্ধান [\t ][\t ]*$
  2. ফাঁকা স্ট্রিং দিয়ে প্রতিস্থাপন করুন
  3. নিয়মিত এক্সপ্রেশন ব্যবহার করুন
  4. সমস্ত প্রতিস্থাপন

অতিরিক্ত:
শীর্ষস্থানীয় স্থান অপসারণের জন্য, ফাঁকা লাইন সরিয়ে ফেলার ^[\t ][\t ]*পরিবর্তে [\t ][\t ]*$
সন্ধান করুন^\s*$\r?\n


1
[\t ]+$তার বদলে কেমন হয় [\t ][\t ]*$?
জোনাহ গ্রাহাম

1

আপনার প্রশ্নের দ্বিতীয় অংশের কোনও সমাধান সম্পর্কে আমি অবগত নই। কারণটি হ'ল আমি কীভাবে পরিবর্তন করেছি তা সংজ্ঞায়িত করা যায় না । কবে বদলেছে? মাত্র 2 টি সঞ্চয় বা কমিটের মধ্যে ... মূলত - এটি ভুলে যান।

আমি ধরে নিয়েছি আপনি কিছু গাইডলাইন আটকে রাখতে চান তবে বাকি কোডটি স্পর্শ করবেন না। তবে নির্দেশিকাটি সামগ্রিকভাবে ব্যবহার করা উচিত, না কাটা এবং টুকরো জন্য। সুতরাং আমার পরামর্শটি হ'ল - সমস্ত কোডটি গাইডলাইনে পরিবর্তন করুন: এটি একবারে বন্ধ অপারেশন, তবে নিশ্চিত হয়ে নিন যে আপনার সমস্ত বিকাশকারীকে প্রকল্পের জন্য একই সেটিংসের সাথে একই প্লাগইন (যেকোনইডিট) রয়েছে।


7
যেহেতু এটি একটি সেভ অ্যাকশন তাই এটি সংরক্ষণাগারগুলির মধ্যে পরিবর্তিত লাইন হবে। গ্রহণটি পাশের বারে চিহ্নিত করার জন্য ইতিমধ্যে এই রেখাগুলি ধরে রাখে।
স্টার ব্লু

0

আমি এই আদেশটি গিটের জন্য ব্যবহার করেছি: git config --global core.whitespace cr-at-eol

এটি অনুসরণযোগ্য ^Mঅক্ষরগুলি সরিয়ে দেয় ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.