আমি কীভাবে কোনও ফ্রেমকে বিভক্ত হওয়া থেকে আটকাতে পারি?


16

বর্তমানে আমি রুবি এবং আরএসপেক নিয়ে কাজ করি। আমি অন্য মনিটরে একটি পৃথক ফ্রেম রাখার ধারণাটি আমাকে সংকলন বাফারটি দেখায় সত্যিই পছন্দ করি। আমার বর্তমান সেটআপটিতে একটি 'কোড' ফ্রেম ব্যবহার করা হয় (যেখানে আমি প্রকৃত কাজ করি) এবং একটি 'পরীক্ষার-ফলাফল' ফ্রেম (যাতে আমি আরএসপেকের ফলাফল দেখি)

সমস্যাটি হ'ল আমি যখন 'পরীক্ষার ফলাফল' ফ্রেমে কিছু সংকলন ত্রুটি বা ফাইল খোলার চেষ্টা করি তখন উইন্ডোটি সেই ফ্রেমে বিভক্ত হয় । আমি যা করতে চাই তা হ'ল এটি আমার 'কোড' ফ্রেমে খোলার জন্য।

আমি ইতিমধ্যে বিকল্পটি ব্যবহার করি display-buffer-reuse-frames। আমি সংকলনের ফলাফল উইন্ডোটি সেট করার চেষ্টাও করেছি dedicated, তবে যখনই ইমাস একটি নতুন উইন্ডো খোলার চেষ্টা করবেন তখন একটি নতুন ফ্রেম তৈরি হবে (যা আপনি হেলম ব্যবহার করলে বিশেষত ভয়ঙ্কর is)

এটি অর্জন করার কোনও সহজ উপায় আছে?


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

1
হাঁ। আমি একটি বনাম ব্যাকগ্রাউন্ড থেকে এসেছি এবং আমি এটিও মিস করছি, যদিও আমি মনে করি যে ইমাকগুলি ক্লিন-নো-বোতাম-নো-বুলশিট ইন্টারফেস বেশিরভাগ সময় ভাল।
রেনান রেনেেলি

@নিস্পিও আমি ভিএস ব্যবহার করি না তাই আপনি "পিন" বলতে চাইলে তা নির্দিষ্ট করে দিতে পারেন। ইমাস ফ্রেমগুলি সাধারণত একচেটিয়া থাকে এবং আপনি যদি সেগুলির সাথে ইন্টারঅ্যাক্ট না করেন তবে পরিবর্তন হয় না।
বংশী

@ ভামসি: ভিএস আপনার প্রচুর ছোট উইন্ডো ব্যবহার করে যা আপনি আপনার ফ্রেমের উপরের / নীচে / পাশগুলিতে সংযুক্ত করতে পারেন বা আপনি সেগুলি পপআপ করে একটি নতুন ফ্রেম তৈরি করতে পারেন। আপনি কোনও ফ্রেমের প্রান্তগুলির বিরুদ্ধে একটি উইন্ডোটি ডক করতে পারেন এবং এটিকে স্বয়ং-লুকানোর জন্য সেট করতে পারেন। উদাহরণস্বরূপ, সংকলন শুরু হওয়ার সাথে সংকলনের আউটপুট উইন্ডোটি জাদুকরভাবে নীচে থেকে পপ আপ করবে এবং সংকলন শেষ হওয়ার খুব শীঘ্রই আবার নিজেকে আড়াল করবে। আপনি যদি উইন্ডোটি স্বয়ংক্রিয়ভাবে আড়াল না করতে চান তবে আপনি এটি স্থানে পিন করতে পারেন এবং তারপরে রেফারেন্সিং সম্পন্ন করার পরে এটি আবার আন-পিন করতে পারেন।
নিসপিও

@ স্প্যানিও আমি দেখছি আমি popwin.elমেলপা থেকে পপআপ সংকলন এবং সাহায্যকারী বাফারগুলিকে সাহায্য করি যা C-gচাপ না দেওয়া পর্যন্ত অব্যাহত থাকে । আমার যদি তাদের পুরো সময়ের প্রয়োজন হয় তবে আমি কেবল তাদের অন্য উইন্ডোতে স্যুইচ করি। উইন্ডোজ পিন করার বিষয়ে ভাবিনি কারণ ইমাসগুলি করে split-windows-sensibly
বামসি

উত্তর:


9

আপনাকে -০০-পাউন্ড গরিলা কনফিগার করতে হবে display-buffer-alistযা এটি নির্ধারণ করে যে display-bufferকোথায় বাফার প্রদর্শন করতে হবে choo এটি display-buffer-reuse-framesনতুন ইমাসনে অচল করে তোলে । এখানে এমন একটি কনফিগারেশন রয়েছে যা আপনাকে গাইড করতে হবে (কমপক্ষে ইমাস 24.3 এ)।

;; all buffers, try to reuse windows across all frames
(add-to-list 'display-buffer-alist
           '(".*". (display-buffer-reuse-window .
                                  ((reusable-frames . t)))))

;; except for compilation buffers where you want new and dedicated frames when necessary
(add-to-list 'display-buffer-alist
         '("^\\*Compile-Log\\*". ((display-buffer-reuse-window
                                   display-buffer-pop-up-frame) .
                                  ((reusable-frames . t)
                                  (inhibit-same-window . t)))))

আপনি দেখতে পাচ্ছেন যে আমি কম্পাইল-লগ বাফারের সাথে মেলে একটি রেজিএক্সএক্স ব্যবহার করি। এর ডকুমেন্টেশনটি display-bufferআপনাকে কী ঘটছে তার একটি ধারণা দিতে হবে। কেবলমাত্র শীর্ষস্থানীয় যে এটি আপনি পড়বেন এমন ডকুমেন্টেশনের সবচেয়ে উপভোগযোগ্য টুকরো নয়। আমি সেগুলি ক্রমিকভাবে যুক্ত করেছি যাতে জেনেরিক রিজেপক্সের সামনে কম্পাইল-লগ রেজিপ্সপ মিলবে। আপনার প্রয়োজন অনুসারে regexp অভিযোজিত।

সম্পাদনা সম্পাদনা করুন কোনও ফ্রেমকে অনির্বচনীয় করে তুলতে আপনি M-: (set-frame-parameter nil 'unsplittable t)সেই নির্দিষ্ট ফ্রেমে বিকাশ করতে পারেন । FRAMEযদি এলিসপ থেকে এটি করা হয় তবে প্রয়োজনীয় সাথে শূন্যস্থান প্রতিস্থাপন করুন। এই দুটি সেটিংসের মধ্যেই যদি না নির্দিষ্টভাবে frame ফ্রেমে কোনও ফাইল খুঁজে না পান তবে এটি সংকলন ফ্রেমটিকে একচেটিয়া করা উচিত।


বিষয়টি হ'ল আমি সব সময় নতুন ফ্রেম খুলতে চাই না। আমি যা চাই তা হল 'সংকলন-লগ' বাফার ব্যতীত সমস্ত উইন্ডোকে 'কোড' ফ্রেমে সীমাবদ্ধ করা, যা সর্বদা 'পরীক্ষার' ফ্রেমে প্রদর্শিত হওয়া উচিত। আমি আমার নতুন 'কোড' ফ্রেমে সমস্ত নতুন উইন্ডোকে পুনঃনির্দেশ করার কোনও উপায় খুঁজে পাইনি। প্রশ্নটিতে আমি যথেষ্ট পরিষ্কার ছিলাম না = (
রেনান রেনেেলি

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