আমি কীভাবে কনস্ট্রাক্টরদের জন্য ভিজ্যুয়াল স্টুডিওর ব্যক্তিগত ক্ষেত্রের উত্পাদন শর্টকাট কাস্টমাইজ করব?


120

ভিএস 2017 (এবং সম্ভবত পুরানো সংস্করণগুলি) আমাকে একটি private readonlyক্ষেত্র তৈরি এবং নির্ধারিত করার জন্য এই সুবিধাজনক ছোট্ট কনস্ট্রাক্টর শর্টকাট দেয় ।

স্ক্রীনশট:

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

এটি কল করা একটি প্রাইভেট সদস্য তৈরি করে শেষ করে userServiceএবং তারপরে এটিকে নিযুক্ত করে:

this.userService = userService;

এটি যে কোড শৈলীর সাথে আমি ব্যবহার করি তার বিপরীতে এটি সমস্ত প্রাইভেট সদস্যকে একটি উপসর্গের সাথে নাম রাখার _ফলে অ্যাসাইনমেন্টের ফলস্বরূপ দেখা উচিত:

_userService = userService;

আমি কীভাবে এটি তৈরি করতে পারি যাতে ভিএস তার কোড প্রজন্মের শর্টকাটগুলির সাথে এই কোড শৈলীর নিয়ম মেনে চলে?


স্নিপেটগুলির সাথে এর কোনও সম্পর্ক নেই, কোড বিশ্লেষণ পরিষেবাদি দ্বারা এই বৈশিষ্ট্যটি সরবরাহ করা হয়েছে। রোজলিন যুক্ত হওয়ার পরে থেকে পাওয়া যায়। একটি নেতৃস্থানীয় আন্ডারস্কোর হ'ল নেট ফ্রেমওয়ার্ক প্রোগ্রামিং গাইডলাইন লঙ্ঘন, আপনি কোনও মাইক্রোসফ্ট প্রোগ্রামারকে এটি পরিবর্তন করার জন্য কথা বলতে যাচ্ছেন না। এটি রিশার্পার দ্বারা চালিত একটি স্টাইল, তারা পছন্দ করে না this.কারণ এটি প্রোগ্রামার এটি কিনে না, এটি ব্যবহার বিবেচনা করে।
হ্যানস প্যাস্যান্ট

18
@ হ্যানসপাস্যান্ট মাইক্রোসফ্টের দলগুলি দ্বারা উত্পাদিত প্রতিটি আধুনিক কোডের টুকরা _camelCaseব্যক্তিগত সদস্যদের জন্য এই সম্মেলনটি অনুসরণ করে । দেখুন CoreFX সি স্টাইল নির্দেশিকা কোডিং # , ASP.NET কোর স্টাইল কোডিং এবং এমনকি Rosyln কোড নিজেই ... ??
kspearrin

5
@ হ্যানসপাসান্ট সুসংবাদ ... কেউ সফলভাবে একজন মাইক্রোসফ্ট প্রোগ্রামারকে এটি পরিবর্তন করতে সক্ষম হতে কথা বলেছে। নীচে উত্তর দেখুন।
kspearrin

ম্যাক্সের জন্য ভিজ্যুয়াল স্টুডিওতে এটি কীভাবে করবেন কোনও ধারণা?
জেসন ভি

উত্তর:


229

এটি সরাসরি ভিজ্যুয়াল স্টুডিওতেও অর্জন করা যায়। শুধু যাও Tools -> Options -> Text Editor -> C# -> Code Style -> Naming

  1. প্রথমে আপনাকে "নামকরণের শৈলীগুলি পরিচালনা করুন" বোতামটি ক্লিক করে একটি নতুন নামকরণের শৈলীর সংজ্ঞা দেওয়া দরকার:

ভিএস2017 নামকরণের স্টাইল সংলাপ

  1. তারপরে "ব্যক্তিগত বা অভ্যন্তরীণ ক্ষেত্র" এর জন্য একটি নতুন নিয়ম সংজ্ঞায়িত করতে + সাইন ক্লিক করুন, এটি আপনার নতুন নামকরণের স্টাইল ব্যবহার করে:

ভিএস2017 বিকল্প সংলাপ

  1. ভিজ্যুয়াল স্টুডিও পুনরায় চালু করুন

  2. এর পরে, আপনি যখন "তৈরি করুন এবং ক্ষেত্রটি আরম্ভ করুন" রিফ্যাক্টরিং প্রয়োগ করবেন, তখন এটির নামকরণ হবে শীর্ষস্থানীয় আন্ডারস্কোর দিয়ে।


আমি ভিজ্যুয়াল স্টুডিওতে 15.8.8 এ আছি এবং এখানে আমার পক্ষে কাজ করা একমাত্র উত্তর ছিল।
জোনাথন টেলর

25
এফওয়াইআই: এর পরে আপনাকে ভিএস পুনরায় চালু করতে হতে পারে।
জেফ

9
ভিএস 2019 এ ভাল কাজ করে
ম্যাট স্ট্যানেট

3
সব নায়ক ক্যাপ পরেন না। দুর্দান্ত ব্যাখ্যা। দুর্দান্ত কাজ! ধন্যবাদ.
ডটমল

1
ভিএস 2019 সংস্করণ 16.5.4 এ পুনরায় আরম্ভের প্রয়োজন নেই
ডগলাস এইচএম

32

.Editorconfig সেটিংস হল kspearrin এর উত্তর আমার পক্ষে কার্যকর হয়নি আমাকে এগুলি ব্যবহার করতে হয়েছিল (ভিএস2017 সংস্করণ 15.4.0 এর জন্য):

[*.{cs,vb}]
dotnet_naming_rule.private_members_with_underscore.symbols  = private_fields
dotnet_naming_rule.private_members_with_underscore.style    = prefix_underscore
dotnet_naming_rule.private_members_with_underscore.severity = suggestion

dotnet_naming_symbols.private_fields.applicable_kinds           = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private

dotnet_naming_style.prefix_underscore.capitalization = camel_case
dotnet_naming_style.prefix_underscore.required_prefix = _

আমি এগুলি এখান থেকে পেয়েছি: https://github.com/dotnet/roslyn/issues/22884#issuecomment-358776444


রহস্যময়। আমি এখন ভিএস 2017 15.6 ব্যবহার করছি এবং আমার আসল উত্তরটি এখনও সেখানে কাজ করছে বলে মনে হচ্ছে। কে জানে ...
kspearrin

আমি 15.6.3 এ আপডেট করেছি এবং এই সংস্করণটি এখনও আমার জন্য কাজ করে। আমি সম্প্রদায় সংস্করণ ব্যবহার করছি, সম্ভবত আপনি না?
মাইকেল_হুক

আমি আর কাজ করতে পারি না, আমি ভিএস প্রো 2017 সংস্করণটি 15.6.4 ব্যবহার করছি
এরিক স্নাইডার ২


গ্রহণযোগ্য উত্তর না দিলে এই আমার পক্ষে কাজ করেছিল। বনাম PRO 15.7.5
Licht

24

এটি আপনার নিজস্ব রোজলিন কোড অ্যানালাইজার নামকরণের নিয়ম তৈরি করে অর্জন করা যেতে পারে। .editorconfigকাস্টম নামকরণ কনভেনশন নির্দিষ্ট করার জন্য আপনার সমাধানটিতে একটি যুক্ত করুন ।

তাদের সম্পর্কে এখানে আরও পড়ুন: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-references

প্রশ্ন থেকে কাঙ্ক্ষিত প্রভাব পেতে, নিম্নলিখিতটি কাজ করবে:

[*.{cs,vb}]
dotnet_naming_rule.private_members_with_underscore.symbols  = private_fields
dotnet_naming_rule.private_members_with_underscore.style    = prefix_underscore
dotnet_naming_rule.private_members_with_underscore.severity = suggestion

dotnet_naming_symbols.private_fields.applicable_kinds           = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private
dotnet_naming_symbols.private_fields.required_modifiers         = readonly

dotnet_naming_style.prefix_underscore.capitalization = camel_case
dotnet_naming_style.prefix_underscore.required_prefix = _

ফলাফল:

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


এটি আমার কাছে এই কাজটি সম্পাদনের দীর্ঘতম পথ বলে মনে হয়। দয়া করে @ ম্যাসিকের প্রতিক্রিয়া দেখুন।
এরিক 21

আমি যখন প্রাথমিকভাবে উত্তর দিয়েছিলাম তখন ফিরে আসার একমাত্র উপায় ছিল। দেখে মনে হচ্ছে তারা এখন এটির জন্য একটি ইউআই যুক্ত করেছে।
kspearrin 17'19

1
.Editorconfig সম্পাদনা করা UI এর মাধ্যমে করার চেয়ে অনেক ভাল সমাধান।
গিল্লজাস

@ এরিক এটি অন্যভাবে। তাদের বনাম একটি নির্দিষ্ট উপায় কনফিগার করতে আপনার টিমের প্রত্যেক সদস্য বলতে হচ্ছে হাতে স্পষ্টভাবে অনেক লম্বা, ক্লান্তিকর, এবং ত্রুটি প্রবণ একটি চেক চেয়ে .editorconfigগীত ফাইল এবং জানতেন যে মুহূর্ত থেকে সবাই তাদের সেটিংস স্বয়ংক্রিয়ভাবে অনুসরণ করতে স্থায়ী থাকবে প্রকল্পের কোডিং শৈলী।
ড্যানিয়েল লিউজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.