ফাইল-নাম সংস্থান-মোড ব্যবহার করে সম্পূর্ণ


11

আমি আমার init.el এ নিম্নলিখিত কমান্ডগুলি ব্যবহার করে সংস্থাটিকে সক্ষম করেছি:

(require 'company)
(add-hook 'after-init-hook 'global-company-mode)

তবে আমি ফাইলের নামটি সম্পূর্ণ করতে পাচ্ছি না, যদিও উত্সটিতে কিছু সরবরাহকারী রয়েছে এবং ওয়েবসাইটটি এটি সমর্থিত উল্লেখ করেছে।

আমি টাইপিং শুরু করি / হোম / ইমানুয়েল ... এবং কিছুই হয় না, যদিও আমি বিকল্পগুলি সরবরাহ শুরু করার আশা করি?

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


1
আপনি উল্লেখ করতে হবে যে আপনি কোন প্রধান-মোডে সংস্থা-মোডের মাধ্যমে স্বয়ংক্রিয় সমাপ্তির চেষ্টা করছেন। অথবা আপনি মিনিবাসে ফাইলের নাম সম্পূর্ণ করার সন্ধান করছেন? নির্ধারন করুন.
পেপারিকা

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

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

উত্তর:


8

company-filesফাইল সমাপ্তির জন্য আপনাকে দৌড়াতে হবে। ফাইলগুলির সমাপ্তির জন্য আপনি কোনও আলাদা মানচিত্রকে বাঁধতে পারেন

(define-key global-map (kbd "C-.") 'company-files)

আপনার কাছে সংস্থা-ব্যাকেন্ডে ( M-x> কাস্টমাইজ-গোষ্ঠী> সংস্থা> কোম্পানির ব্যাক-এন্ড) কোম্পানির ফাইল রয়েছে তাও নিশ্চিত করুন


ফাইল নাম সমাপ্তির জন্য আপনার অগত্যা একটি কী বাঁধাই করতে হবে না। আমি মনে করি এখানে মূল পয়েন্টটি কনফিগার করা company-backends। উদাহরণস্বরূপ আপনি company-filesসেই তালিকায় প্রথমে রাখতে পারেন , বা এটি একটি গ্রুপ ব্যাকএন্ডে অন্তর্ভুক্ত করতে পারেন।
গ্লুকাস

আমি মনে করি এটি ট্রিগার করতে কিছু ফাংশন লিখতে company-filesবা কিছু কনফিগার করতে প্রয়োজন। আমার পক্ষে, অন্ততপক্ষে, এটি স্বয়ংক্রিয়ভাবে চালু না হলেওcompany-backends
জেসি

আমি সন্দেহ করি যে কারণ আপনি তালিকায় এটির আগে অন্যান্য ব্যাক-এন্ড রয়েছে? সংস্থা মোডটি প্রথম ব্যাকএন্ড ব্যবহার করবে যা নির্দেশ করে যে এটি বর্তমান উপসর্গটি পরিচালনা করতে পারে। আপনি যদি তালিকাটির company-filesশুরুতে সন্নিবেশ করান তবে company-backendsএটি স্বয়ংক্রিয়ভাবে সম্পূর্ণ হওয়া উচিত। অবশ্যই, এটি আপনি যা চান তা নাও হতে পারে, কেবল ফাইলটি ব্যাকএন্ডের অন্য একটি ব্যাকএন্ড
হ'ল

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

আপনি বিভিন্ন মোডে ব্যাকএন্ডের আলাদা তালিকা নির্দিষ্ট করতে একটি মোড হুক ব্যবহার করতে পারেন। উদাহরণস্বরূপ লিসপ মোডে আপনি প্রতীক সমাপ্তি এবং শেল স্ক্রিপ্টগুলির জন্য আপনি ফাইলের নাম সমাপ্তি ইত্যাদি যুক্ত করতে চান
গ্লুকাস

15

@ জেস ইতিমধ্যে উল্লেখ করেছেন যে আপনি এখানে যা চান তা company-filesব্যাকএন্ড। এটি ব্যবহারের বিভিন্ন উপায় রয়েছে:

  1. company-filesসরাসরি কল করতে একটি কী বাঁধুন ।

  2. কমান্ড ব্যবহার করুন company-begin-backend। এটি আপনাকে ব্যাকএন্ড ব্যবহার করার জন্য অনুরোধ জানায়, তারপরে সমাপ্ত প্রার্থীদের প্রস্তাব দেয়।

  3. company-other-backendব্যাকএন্ডের তালিকাটি ঘোরানোর জন্য ব্যবহার করুন (পরবর্তী আইটেমটি দেখুন)। এটি সম্পূর্ণরূপে ট্রিগার করতে ব্যবহার করা যেতে পারে বা সংস্থার মোডটি সম্পূর্ণ হওয়ার পরীক্ষার্থীদের একটি আলাদা সেটটিতে স্যুইচ করার পরে এটি ব্যবহার করা যেতে পারে। আপনি কোম্পানির মানচিত্রে একটি কী বাঁধাই নির্ধারণ করতে চাইতে পারেন, যেমন(define-key company-active-map (kbd "C-e") #'company-other-backend)

  4. ভেরিয়েবল কনফিগার করুন company-backends। বর্তমান উপসর্গ (যেমন পয়েন্টের আগে পাঠ্য) গ্রহণ করে এমন একটি ব্যাকএন্ড সন্ধান করার জন্য সংস্থা মোড এই তালিকাটিকে অনুসরণ করে। তালিকার একটি ব্যাকএন্ড পাওয়া সম্পূর্ণভাবে সম্ভব যা বর্তমান উপসর্গটি গ্রহণ করে তবে কোনও সমাপ্ত প্রার্থী দেয় না, এমন সময়ে কোম্পানী মোড কোনও কিছুই স্বয়ংক্রিয়ভাবে পূর্ণ করবে না। আপনার প্রয়োজনগুলি মেটাতে এমনভাবে ব্যাককেন্ডগুলি অর্ডার করতে আপনি তালিকাটি কাস্টমাইজ করতে পারেন।

সংশোধন করার কয়েকটি উদাহরণ company-backends:

আপনি যদি কেবল কখনও ফাইলের নামগুলি সম্পূর্ণ করতে চান তবে আপনি এটি তৈরি করতে পারেন আপনার একমাত্র ব্যাকএন্ড:

(setq company-backends '(company-files))

এটি অসম্ভব বলে মনে হচ্ছে, সুতরাং আপনার সর্বাধিক ব্যবহৃত ব্যাকএন্ড প্রথমে স্থাপন করা ভাল এবং তারপরে ব্যাকেন্ডগুলি স্যুইচ করতে বা অন্য কিছু প্রয়োজন হলে নাম অনুসারে প্রার্থনা করার জন্য পূর্বে উল্লিখিত বিকল্পগুলির একটি ব্যবহার করা ভাল।

আপনি এমন একটি 'গ্রুপ' ব্যাকএন্ডও কনফিগার করতে পারেন যা সমাপ্ত প্রার্থীদের একীভূত সেট তৈরি করে। এটি চেষ্টা করুন, উদাহরণস্বরূপ:

(setq company-backends '((company-capf company-dabbrev-code company-files)))

এটি এমন একটি একক ব্যাকএন্ড নির্দিষ্ট করে যা অন্য তিনটি ব্যাক-এন্ড থেকে প্রার্থীদের একত্রিত করে। এটি আপনাকে সম্পূর্ণ-এ-পয়েন্ট, ডাবিব্রেভ এবং ফাইল সিস্টেম থেকে ফলাফল দেবে।

আপনি বিভিন্ন বড় মোডের জন্য আলাদা সেট ব্যাকেন্ডের নির্দিষ্ট করতে মোড হুক ব্যবহার করতে পারেন। উদাহরণ স্বরূপ:

(add-hook 'org-mode-hook
          (lambda ()
            (setq-local company-backends '((company-files company-dabbrev)))))

(add-hook 'emacs-lisp-mode-hook
          (lambda ()
            (setq-local company-backends '((company-capf company-dabbrev-code)))))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.