রিশার্পার - একক লাইনের চারপাশে কোঁকড়া ধনুর্বন্ধনী জোর করে


101

যখন কোঁকড়ানো ধনুর্বন্ধনী একক-লাইন কোড ব্লককে ঘিরে ব্যবহার করা হয় না তখন সি # কোড ঠিক করার জন্য আমি রিসার্পারটি কনফিগার করতে পারি:

if (blnSomeCondition)
   DoSomething();  // complain

if (blnSomeOtherCondition)
{
   DoSomethingElse(); // don't complain
}

ধন্যবাদ


4
ভাল প্রশ্ন, তবে প্রথম সিনট্যাক্সটিতে কী ভুল? কার্ল বন্ধনীগুলি অপ্রয়োজনীয়।
মীখা 21

43
কিছু বিকাশকারী যুক্তি দেখান যে একক-লাইন কোড ব্লকের চারপাশে কোঁকড়ানো ধনুর্বন্ধনী অন্তর্ভুক্ত করা আরও ভাল অনুশীলন কারণ এটি আরও পাঠযোগ্য এবং আরও রক্ষণাবেক্ষণযোগ্য হতে পারে।
রায়ান বার্গার

33
তদাতিরিক্ত, আমি দেখেছি কত বার কার্লিং বন্ধনী ব্যবহার না করা বাগগুলি বাধিয়েছে। কেউ একটি পরিবর্তন করে, যদি তা দেখে এবং একটি নতুন লাইন যুক্ত করে, বুঝতে না পারে এটি শর্তাধীন অংশ হিসাবে কার্যকর হবে না। এটা সূক্ষ্ম কিন্তু ঘটেছে।
হাদী হরিরি

4
প্রথম ফর্ম্যাটটিতে আমার আসলেই সমস্যা নেই, তবে আমি দেখতে পাচ্ছি যে এটি হাদির উল্লিখিত দৃশ্যে বাগগুলি বাড়ে bu আমাদের দল সিদ্ধান্ত নিয়েছে যে এটি একটি কোডিং মান যা আমরা প্রয়োগ করতে চাই, সেজন্যই আমি প্রশ্ন জিজ্ঞাসা করি।
বুবেরি

5
আমার ব্যক্তিগত পছন্দটি হ'ল যদি হয় তবে একক লাইনের জন্য বন্ধনী ব্যবহার না করা, তবে 'যদি' এবং নীচের বিবৃতিটিকে একই শারীরিক লাইনে স্থাপন করা, যেমন 'যদি (blnSomeCondition) কিছু করা ();'। '
পল রুয়ান

উত্তর:


149

রিসার্পারের নতুন সংস্করণে (2016.x) কোড স্টাইলে সরানো হয়েছে। রিশার্পার 2016.1.1

ইউপিডি 1: রিশ্যার্পার 2017.x এর জন্য রিশার্পার 2017.1.2

ইউপিডি 2: রিশ্যার্পার 2018.x এর জন্য রিশার্পার 2018.1

ইউপিডি 3: রিশ্যার্পার 2019.x এর জন্য রিশার্পার 2019.1

ইউপিডি 4: রিশার্পার 2020.x এর জন্য এখানে চিত্র বর্ণনা লিখুন


35

রায়ান সঠিক (তবে লক্ষ করুন যে তার লিঙ্কটি আর # 2.0 সাহায্যকে বোঝায়)। নির্দিষ্ট পদ্ধতিটি নিম্নরূপ:

  1. রিশার্পার> বিকল্পসমূহ> ভাষা> সি #> ফর্ম্যাটিং স্টাইল> ধনুর্বন্ধনী লেআউট এ যান
  2. "মাল্টিলাইনের জন্য ধনুর্বন্ধনী ব্যবহার করুন" "" অন্যথায় "বিবৃতিতে" ব্র্যাকস সেট করুন "
  3. পরিবর্তনগুলি সংরক্ষণ করার পরে, পুনরায় ফর্ম্যাট করার সুযোগটি নির্বাচন করুন (কোনও কোড নির্বাচন, ফাইল, ফোল্ডার, প্রকল্প, সমাধান - আপনার পছন্দসই কিছু হতে পারে)।
  4. পুনঃনির্মাণ> সরঞ্জাম> ক্লিনআপ কোড নির্বাচন করুন।
  5. লাভ।

মনে রাখবেন যে কোড ক্লিনআপটি অসংখ্য কাজ করে এবং সেগুলি কেবল কোড ফর্ম্যাটিংয়ের সাথে সম্পর্কিত নয় (বিশদটি দেখুন http://www.jetbrains.com/resharper/webhelp/Code_Cleanup__Index.html ), তাই বৈশিষ্ট্যটি বুদ্ধিমানের সাথে ব্যবহার করুন।


28

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

বিকল্প পাঠ

নিয়মের লঙ্ঘন হওয়ার পরে আমি সত্যিই যা আশা করছিলাম তা হল হলুদ সতর্কতা বা লাল ত্রুটি করতে রিসার্পার সেট আপ করতে সক্ষম হয়েছিল, তবে আমি এটি করার কোনও উপায় পাইনি। আপনি ঠিক বলেছেন, গোরোহরোহ, ক্লিনআপ কোড প্রচুর পরিমাণে কাজ করে এবং আমি একবারে একবারে নিয়ম লঙ্ঘনগুলি দেখার এবং সমাধান করার বিকল্পটি পেতে চাই।

আপনার সাহায্যের জন্য ধন্যবাদ!


8

জন্য ReSharper 2016.2.2

পরিষ্কার করার জন্য আপনার প্রোফাইলটি সম্পাদনা করা উচিত। সঠিক আইটেমটি "if-else", "for", "foreach", "while", "do-while", "ব্যবহার" -এ একক বিবৃতিগুলির জন্য বন্ধনীগুলি যুক্ত / সরান বলা হয় । এই আইটেমটি সি # => কোড শৈলী আইটেমের মধ্যে পাওয়া যাবে ।

আইটেমটি চেক করা থাকলে, ধনুর্বন্ধনী যুক্ত করা হবে; যদি চেক না করা থাকে তবে বন্ধনীগুলি সরানো হবে।

দ্রষ্টব্য: যুক্ত করা এখন কাজ করে না (কেন জানি না - সম্ভবত রিশার্পারের খুব নতুন সংস্করণ)।তবে, আপনি যদি উল্লিখিত আইটেমটি চেক করে ফেলেন তবে একক বিবৃতিগুলির চারপাশে বিদ্যমান ব্রেসগুলি সরানো হবে না।

ইউপিডি: সমস্যার সমাধান, এই পোস্টের অধীনে প্রথম দুটি মন্তব্য দেখুন।


4
এটি 2016.3.2 এ কিছুটা আলাদাভাবে কাজ করে - বিকল্পগুলির অধীনে কোড সম্পাদনা -> সি # -> কোড শৈলী -> ধনুর্বন্ধনী -> "যদি" বিবৃতিতে যান এবং তারপরে পছন্দ অনুযায়ী "সর্বদা প্রয়োগ করুন" বাছুন। অন্যান্য বিকল্পগুলি হ'ল "প্রয়োগ করবেন না", "দেহটি মাল্টি-লাইন হলে প্রয়োগ করুন", "বিবৃতিটি মাল্টি-লাইন হলে প্রয়োগ করুন" ইত্যাদি
চ্যাট

ভাল লাগল ধন্যবাদ! এবং এই সেটিংসের পরে, আমার দ্বারা বর্ণিত সাফাই সঠিকভাবে কাজ করে।
জর্দান


1

আমার কোম্পানির একটি মেশিনে যদি এটি অন্য কাউকে সময় বাঁচাতে সহায়তা করতে পারে তবে সের্গেই পরামর্শ অনুসরণ করা তার পোস্টের দুর্দান্ত মানের সত্ত্বেও যথেষ্ট ছিল না।

সম্পর্কিত সেটআপে (ভিএস ২০১7, আর # 2019, উভয়ই আপ টু ডেট) আর # পার্শ্বের এই সেটিংসটি ইতিমধ্যে ভাল ছিল, তবে আমাকে ভিজুয়াল স্টুডিও বিকল্পগুলিতেও এটি পরিবর্তন করতে হয়েছিল:

  • বিকল্প উইন্ডোতে, পাঠ্য সম্পাদক -> সি # -> কোড শৈলী -> বিন্যাস -> সাধারণ ,
  • " ফর্ম্যাট করার সময় অতিরিক্ত কোড সাফাই সম্পাদন করুন " এবং " একক-লাইন নিয়ন্ত্রণ বিবৃতিতে বন্ধনীগুলি যুক্ত / সরান " পরীক্ষা করুন

0

ঠিক আছে এটি আবার সরানো হয়েছে। নতুন জায়গাটি সংস্করণে সিনট্যাক্স স্টাইলের আওতায় রয়েছে ReSharper 2020.01

যাও ReSharper > Options > Code Editing > C# > Syntax Style > Braces

এখানে থেকে স্ক্রিন শট ReSharper 2020.01

এখানে চিত্র বর্ণনা লিখুন

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