সংক্ষেপে, আমি একটি জন্য অনুসন্ধান করছি কাজ তেজ সম্পাদকের জন্য স্বয়ংক্রিয়ভাবে বৈশিষ্ট্য। আমি এর আগে যুক্তি দিয়েছিলাম যে ভিম সম্পূর্ণরূপে লিনাক্সের অধীনে কোনও আইডিই প্রতিস্থাপন করে এবং এটি সত্য হলেও এটির একটি গুরুত্বপূর্ণ বৈশিষ্ট্য নেই: স্বতঃপূরণ।
আমি Ctrl+ N, এক্সবিউরেন্ট Ctags ইন্টিগ্রেশন , ট্যাগলিস্ট , সিপিসম্পূর্ণ এবং ওমনিসিপি কমপ্লিট সম্পর্কে জানি । হায় আফসোস, এগুলির কোনওটিই "কাজ করা স্বতঃপূরণ:" এর বর্ণনা অনুসারে ফিট করে না
- Ctrl+N যদি আপনি বানান কীভাবে ভুলে গেছেন তবে
class, বা (দুর্দান্ত) চমৎকারভাবে কাজ করেwhile। আচ্ছা ভালো. - Ctags আপনাকে প্রাথমিক পাঠ দেয় তবে প্রচুর ঘাটতি রয়েছে।
- ট্যাগলিস্ট কেবল একটি Ctags মোড়ক এবং এর মতো এর বেশিরভাগ ত্রুটিগুলি উত্তরাধিকার সূত্রে প্রাপ্ত (যদিও এটি তালিকাভুক্তির তালিকাতে ভাল কাজ করে )।
- সিপিসম্পূর্ণটি কেবল প্রতিশ্রুতি অনুযায়ী কাজ করে না, এবং আমি কী ভুল করেছি তা নির্ধারণ করতে পারি না, বা যদি এটি সঠিকভাবে "কাজ করে" থাকে এবং সীমাবদ্ধতা ডিজাইন অনুসারে হয়।
- ওমনিসিপকম্পল্টে সিপিপম্পলার মতো একই সমস্যা রয়েছে বলে মনে হচ্ছে, স্বয়ংক্রিয়ভাবে সমাপ্তি সঠিকভাবে কাজ করে না। অতিরিক্তভাবে,
tagsফাইলটি আবারও ম্যানুয়ালি আপডেট করা দরকার।
আমি এই বিষয়টি সম্পর্কে সচেতন যে এমনকি আধুনিকও নয়, পূর্ণ-বর্ধিত আইডিইগুলি ভাল সি ++ কোড সমাপ্তির প্রস্তাব দেয়। এই কারণেই আমি এখন পর্যন্ত এই অঞ্চলে ভিমের অভাব মেনে নিয়েছি। তবে আমি মনে করি কোড সমাপ্তির একটি মৌলিক স্তর জিজ্ঞাসা করার মতো খুব বেশি নয়, এবং বাস্তবে উত্পাদনশীল ব্যবহারের জন্য প্রয়োজনীয় required সুতরাং আমি এমন কিছু সন্ধান করছি যা কমপক্ষে নিম্নলিখিত জিনিসগুলি সম্পাদন করতে পারে।
সিনট্যাক্স সচেতনতা । সিপিপি অসম্পূর্ণ প্রতিশ্রুতি (তবে আমার জন্য সরবরাহ করে না), সঠিক, স্কোপ-সচেতন নীচে স্বতঃপূরণ:
variableName.abc variableName->abc typeName::abcএবং সত্যই, অন্য যে কোনও কিছুই সম্পূর্ণ অকেজো।
Configurability । উত্স ফাইলগুলি কোথায় রয়েছে তা আমাকে (সহজেই) নির্দিষ্ট করতে হবে এবং তাই স্ক্রিপ্টটি এর থেকে স্বয়ংক্রিয়ভাবে সমাপ্তির তথ্য পায় gets আসলে, আমি আমার ডিরেক্টরিতে একটি মেকফাইল পেয়েছি যা প্রয়োজনীয় অন্তর্ভুক্ত পাথগুলি নির্দিষ্ট করে। গ্রহনটি সেখানে পাওয়া তথ্যের ব্যাখ্যা করতে পারে, কেন কোনও ভিম স্ক্রিপ্টও নয়?
আপ-টু ডেটনেস । যত তাড়াতাড়ি আমি আমার ফাইলে কিছু পরিবর্তন করি, আমি চাই এটি স্বয়ংক্রিয়ভাবে সমাপ্তি এটি প্রতিবিম্বিত করে। আমি ম্যানুয়ালি ট্রিগার করতে চাই না
ctags(বা তুলনামূলক কিছু)। এছাড়াও, পরিবর্তনগুলি বর্ধনশীল হওয়া উচিত , অর্থাত্ আমি যখন কেবল একটি ফাইল পরিবর্তন করেছি তখন পুরো ডিরেক্টরি গাছটিকে আবার পার্স করার জন্য এটি সম্পূর্ণ অগ্রহণযোগ্যctags(যা বিশাল হতে পারে)।
আমি কি কিছু ভুলে গেছি? আপডেট করতে নির্দ্বিধায়।
আমি বেশ কয়েকটি কনফিগারেশন এবং / বা টিঙ্কারিংয়ের সাথে আরামদায়ক তবে আমি স্ক্র্যাচ থেকে কোনও সমাধান প্রোগ্রাম করতে চাই না, এবং আমি ভিম স্ক্রিপ্টগুলি ডিবাগ করতেও ভাল নই।
একটি চূড়ান্ত দ্রষ্টব্য, আমি জাভা এবং সি # এর জন্য সত্যই অনুরূপ কিছু চাই তবে আমার ধারণা ctagsএটির জন্য খুব বেশি আশা করা যায়: কেবল কোড ফাইলগুলি পার্স করুন এবং জাভা এবং সি # উভয়ই বিশাল, প্রাক-কম্পাইলযুক্ত ফ্রেমওয়ার্ক রয়েছে যাতে সূচীকরণের প্রয়োজন হবে। দুর্ভাগ্যক্রমে, আইডিইবিহীন .NET বিকাশ করা সি ++ এর চেয়ে আরও অনেক বেশি পিআইটিএ।
clang_completeপ্রযুক্তিগতভাবে সর্বাধিক সাউন্ড তবে ফলাফলগুলি এবং আংশিক সংকলনের ক্যাশিংয়ের অভাবের কারণে প্রতিরোধমূলকভাবে ধীর। আমাকে স্বীকার করতে হবে যে আমি সমস্ত জবাব চেষ্টা করে দেখিনি কারণ কারও কারও কাছে বিশৃঙ্খল, সময়সাপেক্ষ সেটআপ দরকার। আমি এখন একটি ব্যবহারযোগ্য প্লাগইনটির জন্য আমার দম ধরেছি যে অবশেষে ঝনঝন বিকাশকারীদের সি ++ উত্স থেকে এটিএসটি তৈরি করতে দেয় (এখন অবধি, সি ++ এর জন্য ভাল কোনও ভাল পার্সার ছিল না)।
clang_completeসম্প্রতি চেষ্টা করেছেন? এটি libclangএখন ক্যাশিংয়ের সাথে ব্যবহার করতে পারে এবং তাই দ্রুত হওয়া উচিত।
formatted like this
sh(যার অর্থ এটি আমার লাইব্রেরিতে রয়েছে) এবং আমার ক্লাসটির সংক্ষিপ্তকরণ অনুসরণ করে। উদাহরণস্বরূপshPজন্যParserবর্গ। তারপরে আপনাকে যা করতে হবে তাshPহ'ল সিটিআরএল + পি (বা আপনি চাইলে সিটিআরএল + এন) টিপুন এবং ক্লাসের সদস্যদের সর্বশেষ ব্যবহার থেকে প্রথম (অথবা সিটিআরএল + এন হলে প্রথমে