স্থানীয় ভেরিয়েবল রিফ্যাক্টরিংয়ের নামকরণ করুন


10

এমন কি এলিসপ রিফ্যাক্টরিং সরঞ্জাম রয়েছে যা স্থানীয় ভেরিয়েবল এবং ফাংশন আর্গুমেন্টের নাম পরিবর্তন করতে পারে? আমি চালু করতে সক্ষম হতে চাই:

(defun my-func (s r)
  ...
  (use s .. r))

মধ্যে:

(defun my-func (string replacement)
  ...
  (use string .. replacement))

একটি পদ্ধতি ব্যবহার করে যা ভেরিয়েবল রেফারেন্সগুলি কীভাবে সন্ধান করতে জানে using আমি সুপার হাইজেনিক না হলে আমি ঠিক আছি।


4
একাধিক কার্সার বর্তমান ডিফুনে প্রতীকের সমস্ত দৃষ্টান্ত সম্পাদনা করতে পারে।
মালবারবা

এছাড়াও আইডিট দেখুন।
InHarmsWay


4
সমস্ত কোড আমাদের হয় না। কিছু কোড পুরানো।
গ্রাজন পোলাক

2
আমি সাধারণত অঞ্চল re বিএসওয়াইএম \ বি… তে রিজেপ্সপ প্রতিস্থাপন করি
বিআরপোকক

উত্তর:


2

টি এল; ডিআর: erefactor-rename-symbol-in-buffer

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

erefactor-rename-symbol-in-bufferআপনি চান ফাংশন। এটি একটি বুদ্ধিমান ফাইন্ড অ্যান্ড রিপ্লেস কমান্ড যা বর্তমান সুযোগে (ডকাস্ট্রিং সহ) চিহ্নগুলি প্রতিস্থাপন করবে। এই আদেশের সীমাবদ্ধতা হ'ল এটি বর্তমান বাফারের বাইরে অনুসন্ধান করবে না। এটি স্মার্ট, তবে নিখুঁত নয়। শেষ ফলাফলটি স্যানিটারি রয়েছে তা নিশ্চিত করার জন্য এটি আপনাকে প্রতিটি ঘটনা নিশ্চিত করার জন্য জিজ্ঞাসা করবে।

অন্য নামকরণের ফাংশনটি হ'ল erefactor-rename-symbol-in-package। এটি একইভাবে কাজ করে না - এটি কেবল বৈশ্বিক প্রতীকগুলিতে কাজ করে। এটি আপনার প্যাকেজটি একটি গ্রুপিং সিস্টেম এবং উপসর্গ সহ সঠিকভাবে সেট আপ হওয়ার উপর নির্ভর করে এবং প্যাকেজটির উপসর্গের সাথে মেলে এটির জন্য ভেরিয়েবলের প্রয়োজন। এটি খুব দৃust় নয় - যদি আপনি এই ফাংশনটি প্রত্যাশা করে জিনিসগুলি সেট আপ না করেন তবে এটি ব্যর্থ হবে। আমি মনে করি আপনি যদি কোনও বিশ্বব্যাপী প্রতীকটির নাম পরিবর্তন করে থাকেন তবে আপনি পাশাপাশি একটি নির্লজ্জ সন্ধান এবং প্রতিস্থাপন ব্যবহার করতে পারেন কারণ এলিস্পে বিশ্বব্যাপী প্রতীকগুলির নাম স্থান নেই। লেক্সিকাল বোঝার সুবিধাগুলি ন্যূনতম। এই আদেশটি ট্রেড অফের জন্য খুব নাজুক। আমি ঠিক ব্যবহার করার পরামর্শ দিচ্ছি projectile-replace

Erefactor এর অন্যান্য বেশ কয়েকটি এলিসপ কমান্ড রয়েছে যা আপনি দরকারী হিসাবে খুঁজে পেতে পারেন। একটি (অসম্পূর্ণ) তালিকা রিডমিতে উপলব্ধ ।

এটি গিটহাব পৃষ্ঠায় বর্ণিত নয় তবে erefactorমেলপা ( M-x package-install RET erefactor) এ উপলব্ধ। মেলপা পৃষ্ঠাটি এখানে পাওয়া যাবে

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