পাইচারমের বৈশিষ্ট্য যা আপনি উল্লেখ করেছেন তা ছিল আমার পছন্দের একটি এবং আমি প্রথমে ইম্যাক্স দিয়ে পাইচার্মকে প্রতিস্থাপনের চেষ্টা করার মধ্যে একটি জিনিস খুঁজছিলাম (যা আমি করতে পেরে পেরে খুশি)।
অন্য উত্তরে উল্লিখিত হিসাবে elpy
প্যাকেজের এই বৈশিষ্ট্যটি রয়েছে (অন্যান্য অনেক দরকারী আইডিই বৈশিষ্ট্য ছাড়াও )। যাইহোক, আপনি যদি elpy-goto-definition
এই চিহ্নটি সন্ধান করতে চান তবে আপনি খুব শীঘ্রই খুঁজে পাবেন যে কিছু ক্ষেত্রে যেখানে পাইচার্ম আপনি যা সন্ধান করছেন তা সন্ধান করতে সফল elpy
হবে , তা নয়। যেমন ডকস বলেছেন:
ব্যাকেন্ডগুলি সর্বদা সনাক্ত করতে পারে না কী ধরণের চিহ্নটি বিন্দুতে। বিশেষত কয়েকটা নির্দেশের পরে, তাদের মূলত সঠিক অনুমান করার কোনও আশা নেই, তাই তারা তা করে না
এই ক্ষেত্রে, অনুরোধ করা elpy-goto-definition
কিছু করবে না এবং প্রতিধ্বনি অঞ্চলে একটি সামান্য ত্রুটি বার্তা প্রদর্শন করবে। এটি যখন ঘটে তখন অবশ্যই আপনি যা সন্ধান করছেন তা সন্ধান করতে চান এবং elpy
আপনাকে ঝুলন্ত অবস্থায় রাখবেন না। এই ধরণের পরিস্থিতিতে আমি সর্বদা C-c C-s
( elpy-rgrep-symbol
) ব্যবহার করি আমি rgrep
যেই প্রকল্পে থাকি না কেন বিন্দুতে প্রতীকটির জন্য। কমপক্ষে আমার জন্য, আমি কম-বেশি যে জিনিসটির সন্ধান করছি তার rgrep
ফলাফলগুলি সর্বদা প্রদর্শিত হয় । প্রকৃতপক্ষে, আমি এটি পাইচার্মের মতোই বলে মনে করি: আপনি যদি কোনও কিছুর সংজ্ঞা খোঁজার চেষ্টা করেন এবং পাইচার্ম এটি সংজ্ঞায়িত কোথায় তা নিশ্চিত না হলে এটি আপনাকে একটি তালিকা থেকে বেছে নেবে। আমি আসলে elpy
বাস্তবায়ন পছন্দ করি , কারণ আপনি প্রথম বিকল্পটিতে যাওয়ার সময় অদৃশ্য তালিকার চেয়ে অদৃশ্য হয়ে যায়,elpy-rgrep-symbol
সম্ভাব্যতার তালিকাটি অন্য একটি বাফারে খোলা রেখে দেবে যাতে প্রয়োজনে আপনি তাদের মধ্যে পিছনে পিছনে লাফিয়ে উঠতে পারেন।
যেহেতু আমার কার্যপ্রবাহটি প্রায়শই প্রথম কল করা হয় elpy-goto-definition
এবং যদি এটি ব্যর্থ হয় তবে কল করুন elpy-rgrep-symbol
, আমি ব্যর্থ হলে কেবল একটি সাধারণ ফাংশন হ্যাক করার সিদ্ধান্ত নিয়েছি যা কেবলমাত্র elpy-rgrep-symbol
স্বয়ংক্রিয়ভাবে কল elpy-goto-definition
হয়। এই ফাংশনটি নীচে রয়েছে:
(defun goto-def-or-rgrep ()
"Go to definition of thing at point or do an rgrep in project if that fails"
(interactive)
(condition-case nil (elpy-goto-definition)
(error (elpy-rgrep-symbol (thing-at-point 'symbol)))))
তারপরে আমি এটির সাথে আবদ্ধ M-.
(ডিফল্ট বাঁধাই elpy-goto-definition
)।
(define-key elpy-mode-map (kbd "M-.") 'goto-def-or-rgrep)
এইভাবে আমি আমার প্রিয় সম্পাদনায় আমার প্রিয় পাইচার্ম বৈশিষ্ট্যটি ব্যবহার করতে পারি। আমি জানি এটি একটি পুরানো প্রশ্নের ধরণ এবং আপনি ইতিমধ্যে এই সমস্যাটি সমাধান করেছেন বা চালিয়ে যেতে পারেন, তবে আমি আশা করি আপনি বা অন্য কেউ এটি কার্যকর খুঁজে পেয়েছেন!
python-mode
ইম্যাক্সের ডিফল্টরূপে নয়। ( স্ট্যাকওভারফ্লো.com / জিজ্ঞাসা / ১১3636৩০৮৯/২ )