আইএমই হিসাবে ইম্যাকস ব্যবহার করা


169

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

  • উত্স কোড সম্পাদক
  • সংকলনকারী
  • ডিবাগ
  • ডকুমেন্টেশন চেহারা
  • ভর্সন নিয্ন্ত্র্ন
  • ক্লাস লুকোচুরি এবং অবজেক্ট ইন্সপেক্টর এর মতো ওও বৈশিষ্ট্য

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

সম্পাদনা: একজন ব্যবহারকারী উল্লেখ করেছিলেন যে আমি যখন 'বিশ্রামের বিষয়ে' বলি তখন আরও নির্দিষ্ট হওয়া উচিত ছিল। বেশিরভাগ ক্ষেত্রেই আমি দক্ষ সংস্করণ নিয়ন্ত্রণ, পাশাপাশি ডকুমেন্টেশন সন্ধানের বিষয়ে আগ্রহী ছিলাম। উদাহরণস্বরূপ, স্লাইমে লিস্প ফাংশনে দ্রুত হাইপারস্পেক লুক করা মোটামুটি সহজ। সি ++ এসটিএল ডকুমেন্টেশনে কিছু দেখার জন্য কি দ্রুত উপায় আছে ( উদাহরণস্বরূপ যদি আমি হ্যাশ_ম্যাপের সঠিক বাক্য গঠনটি ভুলে যাই )?


5
প্রশ্ন এবং সমস্ত উত্তর সম্পূর্ণ আইডিই পয়েন্ট মিস করছে missing তবে প্রথমে আমাকে ভুল করবেন না: আমি মনে করি যে এখানে কোনও একক আইডিই নেই (কিছু বিরল লিস্প / স্কিমযুক্তগুলি ছাড়াও) যা ইমাসরা যা দিতে পারে তার কাছাকাছি আসে anywhere তা যে আধুনিক IDEs ভালো কাপড় করুন: সম্ভাব্য কোডিং ত্রুটি (এমনকি আংশিক অ compilable ASTs দিকে) তাত্ক্ষণিক হাইলাইট। ইন্টেলিজ আইডিএ এটি করে: আপনি যদি ব্যবহার করেন তবে বলুন, @ নটনুল এটি আপনাকে সম্ভাব্য লঙ্ঘনের বিষয়ে রিয়েল-টাইমে সতর্ক করবে। তারপরে পুরো "ইচ্ছাকৃত কোডিং" রয়েছে : এটি কেবল ইমাসের অধীনে কাজ করে না (এখনও)।
SyntaxT3rr0r

18
আর একটি ক্ষেত্র যেখানে ভাল আইডিই সত্যই জ্বলতে পারে: প্রাসঙ্গিক কোড সমাপ্তি (আবারও, এমনকি নিরপেক্ষ, অ-সংকলনযোগ্য উত্স ফাইলগুলিতে)। প্রাসঙ্গিক কোড সমাপ্তি p0wns হিপ্পি-যে কোনও দিন প্রসারণ যেমন এটি এমনকি মজাদার নয়: এটি কেবল ইমাসকে লজ্জা দেয়। আবার আমি অত্যন্ত দুঃখ পেয়েছি যে ইমাক্সের তুলনায় আইডিই "পাঠ্য সম্পাদক" হ'ল সস্তা, খোঁড়া, বোকা, করুণাময় টুকরো টুকরা আবর্জনা। তবে ভাল আইডিইগুলি প্রচুর পরিমাণে জ্বলজ্বল করে (যেমন রিফ্যাক্টরিং, প্রাসঙ্গিক কোড সমাপ্তি, রিয়েল-টাইম সতর্কতা ইত্যাদি) যেখানে ইমাকগুলি মূলত কোথাও নেই। আমার আইডিইর মাঝখানে আমাকে ইমাক দিন যা বলেছিল। আমি সেদিনের জন্য অপেক্ষা করছি।
SyntaxT3rr0r

কোড ভেঙে যাওয়ার বিষয়ে কী?
সর্বদা 20

আমার বলতে হবে, এখানে মন্তব্যগুলি সম্ভবত প্রোগ্রামারদের দ্বারা লিখিত হয়নি। আমি পড়েছি যে ইমাসগুলি কীভাবে এটি করতে পারে না এবং এটি করতে পারে না, তবে অন্যান্য আইডিই পারে। এটি আমার কাছে এর মতো শব্দ: একজন প্রোগ্রামার, ব্যক্তি যিনি প্রোগ্রামিং ভাষা ব্যবহার করে সমস্যাগুলি সমাধান করেন; কিছু প্রোগ্রামের একটি বৈশিষ্ট্য নেই এবং তাই খারাপ এটির সমস্যা রয়েছে তবে তারা এই বৈশিষ্ট্যটি তৈরি করতে চান না। লাইক, লোকে, তুমি কেন প্রথম স্থানে প্রোগ্রামার হয়েছো ??
red777

উত্তর:


76

"বাকী" দ্বারা আপনি কী বোঝাতে চেয়েছেন সে সম্পর্কে আপনাকে নির্দিষ্ট হতে হবে be অবজেক্ট ইন্সপেক্টর ব্যতীত (যে সম্পর্কে আমি অবহিত), ইমাসগুলি উপরের সমস্তগুলি খুব সহজেই সম্পাদন করে:

  • সম্পাদক (স্পষ্ট)
  • সংকলক - কেবল চালান M-x compileএবং আপনার কম্পাইল কমান্ড প্রবেশ করান। সেখান থেকে, আপনি ঠিক M-x compileএবং ডিফল্ট ব্যবহার করতে পারেন । ইমাকস সি / সি ++ সংকলক ত্রুটিগুলি (জিসিসির সাথে সবচেয়ে ভাল কাজ করে) ক্যাপচার করবে এবং সতর্কতা বা ত্রুটিযুক্ত লাইনে নেভিগেট করতে আপনাকে সহায়তা করবে।
  • ডিবাগিং - একইভাবে, আপনি যখন ডিবাগ করতে চান, টাইপ করুন M-x gdbএবং এটি বিশেষ বাইন্ডিং সহ একটি জিডিবি বাফার তৈরি করবে
  • ডকুমেন্টেশন লুকআপ - ইম্যাক্সের কোড নেভিগেশনের জন্য দুর্দান্ত সিএসকোপ বাইন্ডিং রয়েছে। অন্যান্য ডকুমেন্টেশনের জন্য: ইমাক্সের একটি ম্যানপেজ পাঠকও রয়েছে এবং অন্য কিছুর জন্য রয়েছে ওয়েব এবং বই।
  • সংস্করণ নিয়ন্ত্রণ - বিভিন্ন ভিসিএস ব্যাকেন্ডের জন্য সিভিএস, এসসিসি, আরসিএস, এসভিএন, জিআইটি সমস্ত মনে রাখে) প্রচুর ইম্যাক্স বাইন্ডিং রয়েছে

সম্পাদনা: ডকুমেন্টেশন অনুসন্ধান সম্পর্কে আমার উত্তরটি সত্যিকারভাবে কোড নেভিগেশনের সাথে সম্পর্কিত realize এখানে টু দ্য পয়েন্ট সম্পর্কিত আরও কিছু তথ্য রয়েছে:

গুগল অনুসন্ধান নিঃসন্দেহে আরও উদাহরণ প্রকাশ করবে।

দ্বিতীয় লিঙ্কটি যেমন দেখায়, অন্য ডকুমেন্টেশনে ফাংশনগুলি অনুসন্ধান করা (এবং যা কিছু) বাক্সের বাইরে সমর্থন না করা সত্ত্বেও কাজটি করা যেতে পারে।


3
এটি "এমএক্স সংকলন" হওয়া উচিত নয়?
সোভান্তে

1
আমি মনে করি জিএনইউ গ্লোবাল আজকাল সিএসকোপের চেয়ে বেশি উন্নত: gnu.org/software/global
জর্জেন হ্যাটজেল

@ জারজেন হ্যাটজেল: আমি কিছুক্ষণ সক্রিয়ভাবে ইমাক্স ব্যবহার করি নি। সেই সময়, আমি সিএসকোপ, আইআইআরসি এর সাথে একত্রে জিএনইউ গ্লোবাল ব্যবহার করেছি। যদিও বিশ্বব্যাপী বিবর্তিত সিএসকোপ রয়েছে তবে আমি অবাক হব না।
বেন কলিন্স

এছাড়াও লাগুক আর নাই লাগুক সমর্থন, সঙ্গে <a href=" p4el.sourceforge.net/p4.el.html"> p4.el </ একটি >
forksandhope

29

আমি ইমাসের জন্য আরও "traditionalতিহ্যবাহী" আইডিই শৈলী পরিবেশ হিসাবে ইমাকস কোড ব্রাউজারকে সুপারিশ করতে হবে ।

সম্পাদনা : আমি এখন ইমাএক্সে স্ট্যান্ডার্ড ভিসিএস ইন্টারফেসের চেয়েও ম্যাগিটকে সুপারিশ করি


আপনার কেবল পোস্টটি সম্পাদনা করতে সক্ষম হওয়া উচিত, আপনার কাছে যথেষ্ট পরিমাণ রিপ্রেস উপস্থিত রয়েছে।
বাডট্যাক

19

শেল উইন্ডোতে মেক কমান্ড চালানোর পরিবর্তে, আপনি কি এমএক্স সংকলনের চেষ্টা করেছেন? এটি আপনার মেক কমান্ডটি প্রদর্শন করবে, ত্রুটি প্রদর্শন করবে এবং অনেক ক্ষেত্রে কোডের লাইনে ঝাঁপিয়ে দেওয়া খুব সহজ করে দেয় যা ত্রুটির কারণ হয়ে থাকে যদি আউটপুটটিতে ফাইলের নাম এবং লাইন নম্বর অন্তর্ভুক্ত থাকে।

আপনি যদি আইডিইগুলির ভক্ত হন তবে আপনি ইমাসের স্পিডবার প্যাকেজ (এমএক্স স্পিডবার )টিও দেখতে চাইতে পারেন। এবং, যদি আপনি ইতিমধ্যে না পেয়ে থাকেন তবে কীভাবে আপনার কোড নেভিগেট করতে ট্যাগ টেবিলগুলি ব্যবহার করবেন সে সম্পর্কে শিখুন।


15

ইমাকসের এমন কোণগুলি রয়েছে যা একবার আবিষ্কার করেছিলেন সেগুলি আপনাকে আরও উত্পাদনশীল করে তোলে যা আপনি কখনও ভাবেননি। যেমনটি অন্যরা উল্লেখ করেছেন, ট্যাগ ব্যবহার করা আপনার উত্স কোডটি ঘুরে দেখার এক দুর্দান্ত এবং দ্রুত উপায় এবং এম- / (ডাবব্রেভ-প্রসারণ) ব্যবহার করা প্রায়শই ভেরিয়েবলের নামটি সম্পূর্ণ করার সময় আপনি যা প্রত্যাশা করেছিলেন ঠিক তা করে।

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

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

আইডিই সম্পর্কে আমি একটি পৃষ্ঠা লিখেছিলাম যা ইমাস দিয়ে আপনি করতে পারেন like

http://justinsboringpage.blogspot.com/2007/09/11-visual-studio-tricks-in-emacs.html

এলিস্প শেখা একটি সাধারণ আইডিই যা করতে পারে তার বাইরে ইমামগুলি কী করতে পারে তার নিজের জন্য উত্তর দেওয়ার আরেকটি দুর্দান্ত উপায়।

উদাহরণস্বরূপ আমি দোষের মতো পারফোর্স হেল্পার ফাংশন লেখার বিষয়ে ব্লগ করেছি (নিজের লেখার অর্থ আপনি নিজের ইচ্ছা মতো আচরণ করতে পারেন) ...

http://justinsboringpage.blogspot.com/2009/01/who-changed-line-your-working-on-last.html

আমি এমন কোডও লিখেছি যা গতিশীল সময়ে বিন্দুতে একটি ফাংশনের জন্য মন্তব্য তৈরি করে, যা আমি যে কোডিং মানগুলির সাথে কাজ করছি তার সাথে মেলে।

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


10

আপনি আমার সাইটে ইমাস এবং সংস্করণ নিয়ন্ত্রণ সংহতকরণের বিশদ বিবরণ খুঁজে পেতে পারেন । আমি অনেক ভাষা - সি / সি ++, জাভা, পার্ল, লিস্প / স্কিম, এরলং, ইত্যাদির জন্য ইম্যাক্সকে বিকাশ পরিবেশ হিসাবে ব্যবহার করার বিষয়ে নিবন্ধেও কাজ করছি ...


8

সংস্করণ নিয়ন্ত্রণের জন্য, আপনি কোন সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করেন তার উপর নির্ভর করে আপনি কয়েকটি জিনিস ব্যবহার করতে পারেন। তবে কিছু কার্যকারিতা তাদের সবার কাছে সাধারণ।

vc.el হ'ল ফাইল স্তরে সংস্করণ নিয়ন্ত্রণ পরিচালনা করার অন্তর্নির্মিত উপায়। বেশিরভাগ সংস্করণ নিয়ন্ত্রণ সিস্টেমের জন্য এটির ব্যাকএন্ড রয়েছে। উদাহরণস্বরূপ, সাবভার্সন ব্যাকএন্ড ইম্যাক্সের সাথে আসে এবং সেখানে গিট ব্যাকএন্ড এবং অন্যান্য উত্স থেকে উপলব্ধ অন্যান্য রয়েছে।

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

অন্যান্য খুব দরকারী কমান্ড হ'ল সিএক্স ভিএল এবং সিএক্স ভি = যা আপনাকে যে ফাইলটি ব্যবহার করছেন তার জন্য লগ এবং বর্তমানের পার্থক্য দেখায়।

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

এর বেশিরভাগই ভারী প্রভাবিত বা সিভিএসের জন্য মূল পিসিএল- সিভিএস / পিসিভি ভিত্তিক । তাদের মধ্যে দু'জনই রয়েছে যেগুলি পরাধীনতা , psvn.el এবং dsvn.el নিয়ে আসে । গিট ইত্যাদির জন্য প্যাকেজ রয়েছে


8

ঠিক আছে, এখানে সবাই ইমাককে দুর্দান্ত আইডিই তৈরি করার জন্য নিখুঁত ইঙ্গিত দিচ্ছে।

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

এটির মতো কাজ করার জন্য, আমি ইমাম ব্যবহার করার জন্য অত্যন্ত পরামর্শ দিচ্ছি server mode

এটি ব্যবহার করা বেশ সহজ, আপনার আর ডি ফাইলটি কাস্টমাইজ করার দরকার নেই। আপনাকে কেবল ডেমন মোডে ইমাস শুরু করতে হবে;

emacs --daemon

এটি একটি ইম্যাক্স সার্ভার তৈরি করবে, তারপরে আপনি এটি টার্মিনাল বা গুই থেকে সংযুক্ত করতে পারেন। এটিকে কল করা সহজ করার জন্য আমি কিছু এলিয়াস তৈরি করার পরামর্শও দেব।

alias ec="emacsclient -t"
alias ecc="emacsclient -c &"
# some people also prefer this but no need to fight here;
alias vi="emacsclient -t"

এইভাবে, ইমাসগুলি জিডিট, প্রতিশ্রুতির চেয়ে আরও দ্রুত গতিবেগে যাবে।

এখানে সম্ভাব্য একটি সমস্যা, আপনি যদি নিজের নৈমিত্তিক ব্যবহারকারীর কাছ থেকে ইমাস ডেমন চালাচ্ছেন তবে আপনি সম্ভবত ইমাস সার্ভারটি সংযোগ করতে পারবেন না root

সুতরাং, আপনার যদি এমন কোনও ফাইল খোলার প্রয়োজন হয় যাতে রুট অ্যাক্সেস রয়েছে; trampপরিবর্তে ব্যবহার করুন। আপনার সাধারণ ব্যবহারকারীর সাথে আপনার ইমাস ক্লায়েন্টটি চালান এবং এই জাতীয় ফাইলগুলি খুলুন;

C-x C-f
/sudo:root@localhost/some/file/that/has/root/access/permissions
# on some linux distro it might be `/su:root@...` 

এটি আমার জীবনকে আরও সহজ করে তুলেছে, আমি আমার ভারী কাস্টমাইজড পাইথন আইডিইটি এইভাবে মিলি সেকেন্ডে খুলতে পারি। আপনি আপনার সিস্টেমের সূচনায় ইমাস - ডিমন যোগ করতে বা ইমলস্ক্লিয়েন্টের জন্য একটি ডেস্কটপ ফাইল তৈরি করতে চাইতে পারেন। এটা তোমার উপর.

ইমাস ডেমন এবং ইমাস ক্লায়েন্টের আরও কিছু উইকিতে পাওয়া যাবে;

http://www.emacswiki.org/emacs/EmacsAsDaemon

http://www.emacswiki.org/emacs/EmacsClient


1
আমি জানি এটি পাঁচ বছর পরে, তবে আমি এটি তখনও ব্যবহার করছিলাম: যদি আপনি সেট করেন EDITOR="emacsclient -t" VISUAL="emacsclient -c"আপনি sudo -eবা এর সাথে সুডো-ভিত্তিক সম্পাদনা করতে পারেন sudoeditযা কখনও কখনও ট্রাম্প (সাধারণত নিরীক্ষণের কারণে) ব্যবহার করা পছন্দনীয়। এছাড়াও আপনি ইমালক্লিয়েন্টকে --alternate-editor= ( শেষের দিকে স্থানের প্রয়োজনের সাথে ) অনুরোধ করতে পারেন এবং এটি চলমান না হলে এটি ডিমনটি শুরু করবে যা আপনি প্রথমবার অপেক্ষা করতে ইচ্ছুক হলে সিস্টেম স্টার্টআপে ডেমন রাখার প্রয়োজনীয়তা দূর করে you প্রতিটি বুটে সম্পাদক চালান
দারেল

7

আমি সম্মত হই যে আপনার এমএক্স সংকলন সম্পর্কে শিখতে হবে (এটি এবং এমএক্স-পরবর্তী ত্রুটি একটি সংক্ষিপ্ত কী অনুক্রমের সাথে আবদ্ধ)।

সংস্করণ নিয়ন্ত্রণের জন্য বাইন্ডিং সম্পর্কে জানুন (যেমন, ভিসি-ডিফ, ভিসি-নেক্সট-অ্যাকশন ইত্যাদি)

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


6

Emacs এর ভিসি বৈশিষ্ট্যগুলি অন্বেষণের জন্য একটি সূচনা পয়েন্ট (যা সম্ভবত স্পষ্ট নয়) হ'ল এমএক্স ভিসি-নেক্সট-অ্যাকশন

এটি ফাইলের অবস্থা এবং ভিসি ব্যাকএন্ডের উপর নির্ভর করে বর্তমান ফাইলটিতে "পরবর্তী লজিক্যাল সংস্করণ নিয়ন্ত্রণ অপারেশন" করে। সুতরাং যদি ফাইলটি সংস্করণ নিয়ন্ত্রণে না থাকে, তবে এটি এটি নিবন্ধভুক্ত করে, যদি ফাইলটি পরিবর্তন করা হয়, পরিবর্তনগুলি জমা দেওয়া হয় ইত্যাদি etc.

এটিতে অভ্যস্ত হতে একটু সময় লাগে তবে আমি এটি খুব দরকারী বলে মনে করি।

ডিফল্ট কী-বাইন্ডিং হ'ল সিএক্স ভিভি


4

মাইক্রোসফ্ট টিএফএসে ইমাস একীকরণের জন্য একটি টিএফএস.এল রয়েছে । কোডেপ্লেক্স.কম চালিত টিএফএস সহ এটি কোনও টিএফএসের সাথে কাজ করে।

সেটআপের প্রাথমিক পদক্ষেপগুলি:

  1. আপনার লোড-পথে tfs.el রাখুন।

  2. আপনার .emacs ফাইলটিতে:

    (require 'tfs)
    (setq tfs/tf-exe  "c:\\vs2008\\common7\\ide\\tf.exe")
    (setq tfs/login "/login:domain\\userid,password")
          -or-
    (setq tfs/login (getenv "TFSLOGIN"))  ;; if you have this set
  3. আপনার .emacs ফাইলে, tfs কমান্ডের জন্য স্থানীয় বা গ্লোবাল কী বাইন্ডিং সেট করুন। তাই ভালো:

    (global-set-key  "\C-xvo" 'tfs/checkout)
    (global-set-key  "\C-xvi" 'tfs/checkin)
    (global-set-key  "\C-xvp" 'tfs/properties)
    (global-set-key  "\C-xvr" 'tfs/rename)
    (global-set-key  "\C-xvg" 'tfs/get)
    (global-set-key  "\C-xvh" 'tfs/history)
    (global-set-key  "\C-xvu" 'tfs/undo)
    (global-set-key  "\C-xvd" 'tfs/diff)
    (global-set-key  "\C-xv-" 'tfs/delete)
    (global-set-key  "\C-xv+" 'tfs/add)
    (global-set-key  "\C-xvs" 'tfs/status)
    (global-set-key  "\C-xva" 'tfs/annotate)
    (global-set-key  "\C-xvw" 'tfs/workitem)

উম ... এটি কি আপনার .emacs ফাইলে আপনার পাসওয়ার্ডটি সরলখলে রাখার জন্য গুরুত্ব সহকারে পরামর্শ দিচ্ছেন?
টেড

@ টেড - না, কেবল একটি চিত্র গোপনীয়তা অন্য কোথাও সংরক্ষণ করা উচিত এলিসপ থেকে একটি পাঠ।
চিজো

3

সংকলন, পরবর্তী-ত্রুটি, এবং পূর্ববর্তী ত্রুটি হ'ল ইমাসে সি ++ বিকাশের জন্য খুব গুরুত্বপূর্ণ গুরুত্বপূর্ণ কমান্ড (গ্রেপ আউটপুটটিতেও দুর্দান্ত কাজ করে)। Etags, ভিজিট-ট্যাগ-টেবিল এবং সন্ধানের ট্যাগগুলিও গুরুত্বপূর্ণ। সমাপ্তি.এল 20 ম শতাব্দীর দুর্দান্ত আনসং হ্যাকগুলির মধ্যে একটি এবং এটি আপনার সি ++ হ্যাকিংয়ের প্রসারকে বাড়িয়ে দিতে পারে। ওহ এবং আসিফ ভুলবেন না।

আমি শেলটি না দেখে সংস্করণ নিয়ন্ত্রণ কীভাবে ব্যবহার করতে পারি তা শিখতে পেরেছি, তবে এখন যে আমি আরও বেশি ঘন ঘন কমিট চালাচ্ছি (গিট দিয়ে) আমার সম্ভবত এটি করতে হবে।


3

আপনি ট্যাববার দরকারী খুঁজে পেতে পারে । এটি গ্রহটি থেকে ইম্যাক্সে যাওয়ার সময় আমি যে একমাত্র আচরণটি মিস করেছি তা অনুকরণ করে। "," এবং "সীমাবদ্ধ"। পূর্ববর্তী এবং পরবর্তী ট্যাব বারে যাওয়ার জন্য, এটি আপনাকে Ctrl-x b দ্বারা সারাক্ষণ বাফারটি স্যুইচ করা থেকে মুক্তি দেয়।

দুর্ভাগ্যক্রমে, উল্লিখিত ওয়েব পৃষ্ঠাটি ডাউনলোড করার জন্য সঠিক সংস্করণ সরবরাহ করে না। বেশিরভাগ উবুন্টু সংস্করণগুলি এটি তাদের ইমাস-গুডি প্যাকেজগুলিতে সরবরাহ করে।


1
দুর্দান্ত, আমি ট্যাববারের একটি নতুন সংস্করণ পাওয়ার উপায় খুঁজছিলাম। উবুন্টুতে নেই এমনদের জন্য আপনি এটি এখানে খুঁজে পেতে পারেন। packages.ubuntu.com/karmic/emacs-goodies-el
ইব্রাহিম

3

আমি উইন্ডোজ এ ইম্যাক্স ব্যবহার করি। সংকলন মডিউলটি দুর্দান্ত, তবে আমি কমপাইলটি চেয়েছিলাম যে এটি কমপাইল কমান্ড লাইনের পরামর্শ দেয় about নির্দিষ্ট করার জন্য "ফাইলের ভেরিয়েবলস" ব্যবহার করা সম্ভবcompile-command , তবে আমি তার চেয়ে কিছুটা স্মার্ট চেয়েছিলাম। তাই আমি সাহায্য করতে একটি সামান্য ফাংশন লিখেছি। এটি চলার সময় ব্যবহারকারীকে প্রম্পট করার জন্য, কম্পাইল কমান্ডটি অনুমান করে compile

অনুমানের ফাংশনটি একটি ভিবিপ্রজ বা সিএসপোজ বা স্লান ফাইলের সন্ধান করে এবং যদি এটি পাওয়া যায় তবে এটি এমএসবিল্ডের পরামর্শ দেয়। তারপরে এটি বাফার ফাইলের নামটি দেখে এবং তার উপর নির্ভর করে বিভিন্ন জিনিস প্রস্তাব দেয়। একটি .Wxs ফাইলের অর্থ এটি একটি WIX প্রকল্প, এবং আপনি সম্ভবত একটি এমএসআই তৈরি করতে চান, সুতরাং অনুমান যুক্তিটি MSI এর জন্য একটি nmake কমান্ডের পরামর্শ দেয়। যদি এটি একটি জাভাস্ক্রিপ্ট মডিউল হয়, তবে jjlint-for-wsh.js চালানোর পরামর্শ দেওয়া হয়েছে .js ফাইলটি লিঙ্ক করার জন্য। ফ্যালব্যাক হিসাবে, এটি নমকে পরামর্শ দেয়।

আমি যে কোডটি ব্যবহার করি এটির মতো দেখাচ্ছে:

(defun cheeso-guess-compile-command ()
  "set `compile-command' intelligently depending on the
current buffer, or the contents of the current directory."
  (interactive)
  (set (make-local-variable 'compile-command)
       (cond
        ((or (file-expand-wildcards "*.csproj" t)
             (file-expand-wildcards "*.vcproj" t)
             (file-expand-wildcards "*.vbproj" t)
             (file-expand-wildcards "*.shfbproj" t)
             (file-expand-wildcards "*.sln" t))
         "msbuild ")

        ;; sometimes, not sure why, the buffer-file-name is
        ;; not set.  Can use it only if set.
        (buffer-file-name
         (let ((filename (file-name-nondirectory buffer-file-name)))
           (cond

            ;; editing a .wxs (WIX Soluition) file
            ((string-equal (substring buffer-file-name -4) ".wxs")
             (concat "nmake "
                     ;; (substring buffer-file-name 0 -4) ;; includes full path
                     (file-name-sans-extension filename)
                     ".msi" ))

            ;; a javascript file - run jslint
            ((string-equal (substring buffer-file-name -3) ".js")
             (concat (getenv "windir")
                     "\\system32\\cscript.exe c:\\users\\cheeso\\bin\\jslint-for-wsh.js "
                     filename))

            ;; something else - do a typical .exe build
            (t
             (concat "nmake "
                     (file-name-sans-extension filename)
                     ".exe")))))
        (t
         "nmake "))))


(defun cheeso-invoke-compile-interactively ()
  "fn to wrap the `compile' function.  This simply
checks to see if `compile-command' has been previously set, and
if not, invokes `cheeso-guess-compile-command' to set the value.
Then it invokes the `compile' function, interactively."
  (interactive)
  (cond
   ((not (boundp 'cheeso-local-compile-command-has-been-set))
    (cheeso-guess-compile-command)
    (set (make-local-variable 'cheeso-local-compile-command-has-been-set) t)))
  ;; local compile command has now been set
  (call-interactively 'compile))

;; in lieu of binding to `compile', bind to my monkeypatched function
(global-set-key "\C-x\C-e"  'cheeso-invoke-compile-interactively)

আমি সংকলনের জন্য "পরামর্শের আগে" হিসাবে এটি করার চেষ্টা করেছি তবে সন্তোষজনকভাবে কাজ করতে পারিনি। সুতরাং আমি একটি নতুন ফাংশন সংজ্ঞায়িত করেছি এবং এটি একই কীস্ট্রোকের সংমিশ্রণে আবদ্ধ করেছি যা আমি ব্যবহার করছি compile


সম্পাদনা করুন এখন " স্মার্ট-কম্পাইল.ইল " রয়েছে যা এই ধারণাটিকে আরও একধাপ এগিয়ে নিয়ে যায়।


2

ডকুমেন্টেশন সন্ধানে: এটি আপনার প্রোগ্রামিং ভাষা (গুলি) এর উপর নির্ভর করে।

সি লাইব্রেরি এবং সিস্টেম কল সাধারণত ম্যান পৃষ্ঠাতে নথিভুক্ত হয়। তার জন্য আপনি ব্যবহার করতে পারেন M-x man। কিছু তথ্য তথ্য পৃষ্ঠাগুলিতে আরও নথিভুক্ত হতে পারে; ব্যবহার M-x info

এলিস্প নিজেই, ব্যবহার করুন C-h f। অজগর জন্য, >>> help(<function, class, module>)দোভাষী ব্যবহার করুন।

আমি দেখতে পেয়েছি যে বেশিরভাগ অন্যান্য ভাষা এইচটিএমএল আকারে ডকুমেন্টেশন দেয়। তার জন্য, একটি এম্বেড করা ব্রাউজার চেষ্টা করুন (আমি ডাব্লু 3 এম ব্যবহার করি)। আপনার BROWSERএনভায়রনমেন্ট ভেরিয়েবলটিকে চারপাশে মোড়ক স্ক্রিপ্টে সেট করুন emacsclient -e "(w3m-goto-url-new-session \"$@\")"(* নিক্সে), যদি কোনও ব্রাউজার খোলা থাকে এবং আপনি এটি ইম্যাকের অভ্যন্তরে খুলতে চান।


2

আমি জানি এটি একটি খুব পুরানো পোস্ট। তবে এই প্রশ্নটি ইমাস শুরুর জন্য বৈধ।

আইএমও ইম্যাক্সকে আদর্শ হিসাবে ব্যবহার করার সর্বোত্তম উপায় হ'ল ইম্যাক্স সহ একটি ভাষা সার্ভার প্রোটোকল ব্যবহার করা । আপনি লিঙ্কযুক্ত ওয়েবসাইটে ভাষা সার্ভার সম্পর্কিত সমস্ত তথ্য খুঁজে পেতে পারেন।

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

একটি ডিবাগারের জন্যও আপনার নির্দিষ্ট ভাষার জন্য নির্দিষ্ট ডিবাগারের প্রয়োজন হতে পারে। আপনি ইমাসের মধ্যে থেকে জিডিবি ব্যবহার করতে পারেন। শুধু টাইপ করুন M-x gdb

আপনার কোডটি সংকলনের জন্য শেল-কমান্ড ব্যবহার করা ভাল best আমি এই প্রকল্প এপ্রোজ কাজ করছি । এটি শেষ করতে কিছুটা সময় লাগবে। তবে এটি যা করে তা হ'ল ম্যাপস শেল কমান্ড থেকে প্রজেক্ট টাইপ। এবং শেল দিয়ে আপনাকে প্রজেক্ট তৈরি করে। কমান্ড কার্যকর করতে এটি একই কাজ করে। এই প্রকল্পটি সম্পূর্ণ করতে আমার সাহায্যের প্রয়োজন হতে পারে। এটি ব্যবহারের জন্য প্রস্তুত নয়, তবে আপনি যদি কিছুটা এলিস্প জানেন তবে আপনি কোডটি দিয়ে যেতে পারেন।

এটিকে বাদ দিয়ে, সর্বদা ইমাক্স কম্পাইল কমান্ডটি ব্যবহার করা ভাল।

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

ভাষা সার্ভার প্রোটোকল দ্বারা অবজেক্ট লুক এবং ক্লাস লুকআপ সরবরাহ করা হয়েছে।

প্রজেক্ট ট্রি গাছের মত ব্যবহার করে ইন্টারফেসের মত আদর্শের জন্য ব্যবহার করা যেতে পারে ।

প্রজেক্টাইল নামে একটি প্রকল্প ইন্টারঅ্যাকশন লাইব্রেরিও রয়েছে ।

অটো সমাপ্তির জন্য, আমি সংস্থা-মোডকে খুব দরকারী বলে মনে করি।

সত্যই ইম্যাকসকে কিছু করা যায়।


1

সাম্প্রতিক বছরগুলিতে, কলং ইমাক্স সি ++ সমর্থনের একটি গুরুত্বপূর্ণ অংশে পরিণত হয়েছিল। আতিলা নেভেসের সিপিপ্যাকন 2015-তে একটি আলাপ হয়েছিল: "সি ++ আইডিই হিসাবে ইম্যাকস "

এটি একটি 16 মিনিটের আলোচনা, যেখানে তিনি নিম্নলিখিত বিষয়গুলির জন্য সমাধান দেখান:

  • সংজ্ঞা যাও যাও
  • স্বয়ং-সম্পূর্ণতে
  • অন ​​ফ্লাইট সিনট্যাক্স হাইলাইট
  • প্রকল্পে ফাইল সন্ধান করুন

স্লাইডগুলি এখানে পাওয়া যাবে


0

ইউনিক্স বা এক্স উইন্ডোজ স্টাইলে, আমি জানি না যে একটি সমন্বিত আইডিই রয়েছে যা সব কিছুর জন্য কাজ করে।

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

এখন পর্যন্ত এই প্রোগ্রামটি উন্নতি ব্যবহার করতে পারে। তবে এরপরে এটি এর উন্নতি করতে এতে কাজ করা লোকদেরও ব্যবহার করতে পারে।

দাবি অস্বীকার: আমি রিয়েলগড নিয়ে কাজ করি


0

এলএসপি-মোড চেষ্টা করুন। এখন আপনি সার্ভারের সাথে সংযুক্ত ইমাসের ভিতরে অন্যান্য আইডিই কার্যকারিতা ব্যবহার করতে পারেন। আরও তথ্যের জন্য দেখুন: এলএসপি-মোড

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