বুদ্ধিমান সি ++ অটো-সম্পূর্ণতা কীভাবে পাবেন


32

কিছু সম্পাদক (যেমন উইন্ডোগুলিতে ভিজ্যুয়াল স্টুডিও) সি ++ স্বতঃপূরণ করেন যা সি ++ বোঝে। উদাহরণস্বরূপ, প্রদত্ত:

#include <vector>

int main(void) {
  std::vector<int> v;
  v.i

ভিজ্যুয়াল স্টুডিওতে std::vector<int>স্বতঃসম্পূর্ণতা i দিয়ে শুরু হওয়া একমাত্র পদ্ধতিটি জানেন insert

এই জাতীয় স্বতঃপূরণ ভিআইএম মধ্যে পাওয়া সম্ভব?


3
YouCompleteMe প্লাগইন স্বয়ংসম্পূর্ণ করতে পদ জানতে পারেন, এবং সি পরিবার ভাষায় বুঝতে পারেন।
alxndr

@alxndr ডাবলমেন্টেশন ভন্ডল সহ ইনস্টলের ক্ষেত্রে আমার ক্ষেত্রে বিভ্রান্তিকর ছিল। এবং এটি শুরু করার সাথে সাথেই, ওয়াইসিএম সার্ভার ক্র্যাশ হয়ে গেছে!
অভিনব গৌনিয়াল

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

@yo 'এই প্রশ্নটি সি ++ সহ ভিএম ব্যবহারের ক্ষেত্রে মোটামুটি নির্দিষ্ট। এর সমাধানগুলি সম্ভবত কারও জন্য প্রযোজ্য হবে না যারা পার্ল লেখার জন্য Vim ব্যবহার করে (এবং বিপরীতে)। সুতরাং সি ++ আমার কাছে ভাল লাগছে ; তবে অবশ্যই vi এবং Vim মেটা এটি নিয়ে আলোচনার জন্য সঠিক জায়গা।
ডারোবার্ট

2
@ অভিনবগৌনিয়াল যা ওয়াইসিএম ব্যবহারের আগে আমি দেখেছি এমন সমস্যার অনুরূপ। আপনি কি সিস্টেম চালু? ওএসএক্সের জন্য এখানে দেখুন । আমি ম্যাকভিম ব্যবহার করছি না, তবে আমি হোমব্রু দিয়ে সিএমকে ইনস্টল করেছি। তারপরে আমি cdYCM প্লাগইন ডিরেক্টরিতে ( ~/.vim/bundleআমার জন্য) এডিট করে দৌড়ে এসেছি ./install --clang-completer
বিএসমিথ 89

উত্তর:


28

আমি সত্যিই এই জন্য ঝনঝন_ অসম্পূর্ণ পছন্দ । এটি ঝাঁকুনির প্রয়োজন নেই, এবং আপনার সিস্টেমে লাইবক্ল্যাং কোথায় থাকে তা আপনাকে তা জানানোর দরকার। এর পরে, এটি আশ্চর্যজনকভাবে কাজ করে।

লোকেরা আপনাকে কমপ্লেম মাইয়ের পরামর্শ দিতে পারে, তবে সত্য কথা বলতে গেলে, প্লাগইনটি যা বলে তার পক্ষে এটি প্রচুর পরিমাণে ফুলে যায় এবং এটি ইনস্টল করার জন্য অনেকগুলি পদক্ষেপ প্রয়োজন। আমি একাধিক অনুষ্ঠানে এটি ভিগ Segfault ছিল। ঝনঝন_পম্পূর্ণ নিয়ে আমি আর সুখী হতে পারি না।

আমি টাইপ করার সময় এটিই পাই v.:ঝনঝন-সম্পূর্ণ


4
একমত। ওয়াইসিএম নিয়ে আমার প্রচুর সমস্যা হয়েছে (উল্লিখিত সেগফাল্ট সহ)। এবং কনফিগারেশনের কয়েক ঘন্টা পরেও আমার এটি পুরোপুরি কাজ হয়নি had
চার্লসএল

1
আমি ওয়াইসিএম সার্ভারটি বহুবার ক্র্যাশ হয়ে গিয়েছিলাম, ঝাঁকুনি দিয়েছিলেন_সম্পূর্ণ হওয়ার অপেক্ষায়, অন্যান্য ব্যবহারকারীর জন্য এখানে প্রাসঙ্গিক তথ্য: github.com/Rip-Rip/clang_complete/blob/master/doc/…
অভিনব গৌনিয়াল

1
আমি বিপরীত ছিল। ওয়াইসিএম খুব ভাল কাজ করেছে (এটি ইনস্টল করার জন্য পিটা থাকলেও) তবে
ঝাঁকুনি

আপনি কি এগুলি সব গোপন করতে পারেন যাতে আপনার কোডটি কয়েক লাইন নীচে দেখতে পান?
ম্যাট সি

@ ম্যাথিউ ক্লিয়্যাট, লুকো? পপআপ মেনু? কোডটিতে বিশেষ কিছু নেই। এটি return 0পপআপ মেনুটির ঠিক নীচে।
অক্ষয়

8

YouCompleteMe ( লিঙ্ক ) প্লাগইন আমার জন্য দুর্দান্ত কাজ করেছে। এটি স্বতঃসম্পূর্ণ বৈশিষ্ট্যটি উত্পন্ন করতে লাইবক্ল্যাং ব্যবহার করে নির্ভুল সমাপ্তি সরবরাহ করে।

সংকলন পতাকাগুলির সাথে কাজ করার সময় এটির প্রচুর কাস্টমাইজেশন রয়েছে। আপনি প্রতিটি প্রকল্পের জন্য পাইথন স্ক্রিপ্ট সম্পাদনা করে "পতাকা জেনারেটর" সম্পাদনা করতে পারেন ( উদাহরণ )। তবে, আমার কাছে প্রধান সুবিধাটি হ'ল এটি ক্ল্যাং সংকলন ডেটাবেস ( লিংক! ) সমর্থন করে । এর অর্থ হ'ল আপনি নিজের কোডটি সাধারনত সংকলন করতে পারেন এবং ঝাঁকুনির কাছে সংকলনের জন্য ব্যবহৃত সমস্ত পতাকাগুলি থুতু দিতে এবং সেই পতাকাগুলি YouCompleteMe এর সাথে ব্যবহার করতে পারেন। খুব সহজেই যদি আপনি নিজের ম্যাক্রো সংজ্ঞাগুলি বা ম্যানুয়ালি টাইপ করার কোনও প্রচেষ্টা ছাড়াই আপনার সিস্টেমে সমস্ত হেডার ফাইলগুলির অবস্থান সম্পর্কে সচেতন হন তবে স্বয়ংক্রিয়ভাবে সম্পূর্ণ সরঞ্জামটি সন্ধান করতে চান।


3

YouCompleteMe ইনস্টল করা এতটা কঠিন নয়, এবং এটি আমার পক্ষে যথেষ্ট স্থিতিশীল, আমি কয়েক বছর আগে ঝাঁকুনি থেকে সম্পূর্ণরূপে YouComplete আমার কাছে চলে এসেছি। আমি একমত যে, এটি প্রকৃতপক্ষে একটি বিশাল প্রতিশ্রুতিবদ্ধ ইতিহাসের সাথে স্ফীত, বহু অভ্যন্তরীণ নির্ভরতা এবং বহু ভাষার জন্য সমর্থন যা আপনি যত্ন নাও করতে পারেন তবে তার সাথে সম্পর্কিত সাবমডিয়ুলগুলি ক্লোনিং শেষ করে দেবে। যে, এটি ইউকম্পলমিমে একটি সমস্যা, এখনও .... এটি কাজ করে।

আমি সি ++ এর আরও ভাল সমর্থন করার জন্য বিশেষ উদ্দেশ্যে একটি কাঁটাচামচ নিয়ে কাজ করেছি , আপনি এই জিআইএফটি প্রদর্শন করে দেখতে পারেন:

https://s3.amazonaws.com/f.cl.ly/items/1e2F0A123h331c1G0L0R/SadBart.gif

এটি ক্ল্যাং সরবরাহ করতে সক্ষম যে নতুন প্যারামিটার তথ্যের সাথে যোগাযোগ করে, আপনি আমার এই নিবন্ধটি থেকে এই সম্পর্কে আরও জানতে পারেন: http://nosubstance.me/articles/2015-01-29- ভাল-কমপ্লেশন- for-cpp/


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