প্রজেক্টাইল থেকে ফাইলগুলি কীভাবে বাদ দেওয়া যায়?


39

আমি উপস্থাপিকা থেকে হেলম-প্রজেক্টাইল সেটআপ ব্যবহার করছি এবং এটি আমার কর্মপ্রবাহে একটি বিশাল উন্নতি হয়েছে। কেবলমাত্র ইস্যুটি স্বয়ংক্রিয়ভাবে উত্পন্ন ফাইলগুলি (যেমন সিএমকে দ্বারা উত্পাদিত) হেলম-গ্রেপ এবং অনুরূপ ক্রিয়াকলাপের সময় প্রদর্শিত হয়।

প্রশ্ন : প্রজেক্টাইল থেকে প্রজেক্টিল ফোল্ডারে গাছের ফাইলগুলি বাদ দেওয়ার কোনও উপায় আছে কি?

উত্তর:


33

অনুমানের দিকে তাকালে মনে হয় বিশ্বব্যাপী ফাইল / ডিরেক্টরি উপেক্ষা করার জন্য চারটি কাস্টমাইজেশন দেওয়া রয়েছে। আমি তাদের ডকুমেন্টেশন সহ নীচে তাদের প্রত্যেককে তালিকাবদ্ধ করছি

projectile-globally-ignored-files

প্রজেক্টাইল দ্বারা বিশ্বব্যাপী উপেক্ষা করা ফাইলগুলির একটি তালিকা।

projectile-globally-ignored-directories

প্রজেক্টাইল দ্বারা বিশ্বব্যাপী উপেক্ষা করা ডিরেক্টরিগুলির একটি তালিকা।

projectile-globally-ignored-file-suffixes

প্রজেক্টাইল দ্বারা বিশ্বব্যাপী উপেক্ষা করা ফাইল প্রত্যয়ের একটি তালিকা।

projectile-globally-ignored-modes

প্রজেক্টাইল দ্বারা অগ্রাহ্য করা বড় মোডগুলির জন্য নিয়মিত এক্সপ্রেশনগুলির একটি তালিকা।

যদি কোনও বাফার একটি প্রদত্ত প্রধান মোড ব্যবহার করে থাকে তবে প্রক্ষেপণ বাফারগুলির সাথে কাজ করার জন্য এটি উপেক্ষা করবে।

দয়া করে নোট করুন যে এগুলি বিশ্বব্যাপী বিকল্পগুলি উদাহরণস্বরূপ projectile-globally-ignored-directoriesআপনি যে প্রকল্পের সাথে কাজ করছেন তা নির্বিশেষে ডিরেক্টরিতে একটি ডিরেক্টরি উপেক্ষা করা হবে। কোনও নির্দিষ্ট প্রকল্পের জন্য একটি ফাইল / ডিরেক্টরি উপেক্ষা করার জন্য আপনি প্রকল্পের মূলটিতে একটি .projectileফাইল যুক্ত করতে পারেন এবং এর সাথে উপসর্গের উপেক্ষা করার জন্য পথগুলি যোগ -করতে পারেন নীচের মতো

-/CMake

এর ডকুমেন্টেশন দেখুন projectile-parse-dirconfig-file(অথবা প্রজেক্ট এর ডক্স আরও তথ্যের জন্য)

পার্স প্রকল্প উপেক্ষা করুন এবং রাখতে ফাইল এবং ডিরেক্টরিগুলি ফিরিয়ে আনবেন।

রিটার্নের মানটি একটি কনস, গাড়ি রাখার জন্য ডিরেক্টরিগুলির তালিকা এবং সিডিআর ফাইল বা ডিরেক্টরিকে অগ্রাহ্য করার তালিকা হিসাবে থাকবে।

+ দিয়ে শুরু করা স্ট্রিংগুলি ডিরেক্টরিতে রাখা ডিরেক্টরিগুলির তালিকায় যুক্ত করা হবে এবং স্ট্রিংগুলি - দিয়ে শুরু হওয়া স্ট্রিংগুলি উপেক্ষা করার জন্য ডিরেক্টরিগুলির তালিকায় যুক্ত করা হবে । পশ্চাদপদ সামঞ্জস্যের জন্য, প্রিফিক্স ব্যতীত স্ট্রিংটিকে একটি উপেক্ষা করা স্ট্রিং হিসাবে ধরে নেওয়া হবে ।


2
আমি projectile-globally-ignored-file-suffixesএটি (যেমন আমি মনে করি) এটি কাজ করে তেমন কাজ করতে অক্ষম । এটিতে কেবল প্রত্যয় (যেমন বস্তুর ফাইলগুলির জন্য "ও"), একটি ফাইল গ্লোব (যেমন "* .o") বা অন্য কিছু থাকা উচিত? সত্যি বলতে আমি প্রতিটি কম্বো চেষ্টা করেছি যা আমি ভাবতে পারি এবং এটি কার্যকর হয়নি।
ব্লেইন

আমি স্কাইমাকে এনসাইম সহ ব্যবহার করছি এবং প্রক্ষেপণ ইতিমধ্যে বিশ্বব্যাপী উপেক্ষিত হিসাবে .ensime_cache সংজ্ঞায়িত করেছে। তবে সিসি পিএইচ হেল্ম-প্রজেক্টাইল নিয়ে আসে এবং সমস্ত .ensime_cache ফাইল দেখায়। কোন ধারনা?
আর্ন

23

হ্যাঁ, আপনার .projectileফাইলে, প্রতিটি লাইনে অনুরূপ নির্দিষ্ট করে: প্রতিটি লাইনের মতো দেখতে:

- /path/to/somefile

প্রতিটি লাইনে একটি ফাইল পাথ থাকে।

ফাইলগুলি উপেক্ষা করার বিষয়ে সরকারী ডকুমেন্টেশন দেখুন


7

আর একটি সমাধান হ'লag ( the_silver_searcher ) বা rg( ripgrep ) প্রকল্প ফাইল তৈরি করতে। আপনি এটি দিয়ে কীভাবে এটি করতে পারেন তা এখানে rg:

(setq projectile-enable-caching t)

;;; Default rg arguments
  ;; https://github.com/BurntSushi/ripgrep
  (when (executable-find "rg")
    (progn
      (defconst modi/rg-arguments
        `("--line-number"                     ; line numbers
          "--smart-case"
          "--follow"                          ; follow symlinks
          "--mmap")                           ; apply memory map optimization when possible
        "Default rg arguments used in the functions in `projectile' package.")

      (defun modi/advice-projectile-use-rg ()
        "Always use `rg' for getting a list of all files in the project."
        (mapconcat 'identity
                   (append '("\\rg") ; used unaliased version of `rg': \rg
                           modi/rg-arguments
                           '("--null" ; output null separated results,
                             "--files")) ; get file names matching the regex '' (all files)
                   " "))

      (advice-add 'projectile-get-ext-command :override #'modi/advice-projectile-use-rg)))

আপনার প্রকল্প ডিরেক্টরিতে, আপনি যে ফাইলগুলিকে উপেক্ষা করতে চান সেগুলি নির্দিষ্ট করুন .gitignoreএবং আপনি ভাল হয়ে যাবেন :)

কোডটি কাউশালমোডি ইমাস কনফিগার থেকে প্রাপ্ত from


2

অনুসন্ধান করুন যা উপেক্ষা করা ডায়ার্স / ফাইলগুলিকে সম্মান করে:

  1. ইনস্টল করুন ack(গ্রেপ এর বিকল্প। আমি হোমব্রিউয়ের মাধ্যমে ইনস্টল করি))

  2. করা --ignore-caseআপনার ~.ackrcফাইল (অভিমানী আপনি উপেক্ষা করতে চান)

  3. helm-projectile-ackএকটি চাবি বাঁধুন । আমি এটি আমার ইম্যাক্স থ্রি-র মাধ্যমে এটি করি:

(use-package helm
  ...
  :bind (...
         ("C-c p s a" . helm-projectile-ack)
        )
  ...
)
  1. একটি .projectileফাইল তৈরি করুন। যেমন,
-.dot
-.jcs
-.svg
-.txt

ব্যবহার

C-c p s a     ;; search that respects .projectile ignore

অথবা

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