ভিমে রিফ্যাক্টরিং


100

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

আমি রুবিকে রিফ্যাক্টর করার জন্য এই প্লাগইনটি পেয়েছি , তবে "কোনও" ভাষা কীভাবে?


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

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

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

@ মের্লিনমর্গান-গ্রাহাম - কিছু লোক কেবল তাদের কোড কয়েকটি (বৃহত্তর, এটি হতে পারে) ফাইলগুলিতে রাখে। পুরোপুরি এই সমস্যা এড়ানো।
রোক

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

উত্তর:


79

আমি 'ভিম কোনও আইডিই নয়' দৃষ্টান্তের সাথে একমত। কিন্তু এমন সময় আসে যখন কোনও আইডিই থাকে না। এই পরিস্থিতিতে আমি যা ব্যবহার করি তা এখানে:

: গ্রেপ,: ভিমগ্রিপ, আগ:, জিগ্রিপ

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

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

: আরগোডো, সিডো এবং বুফডো

: সিডো এবং : আরগডো ফাইলের একটি সেটের উপর ভিআইএম কমান্ড প্রয়োগ করতে কার্যকর।

কমান্ড লাইন

যখন ফাইলগুলির তালিকা নির্ধারণ করা শক্ত হয় যখন :vimgrepআমি পরিবর্তনের প্রয়োজন হয় আমি কমান্ড লাইন গ্রেপ / রিসোর্টের সাহায্যে ফাইলগুলির তালিকাটি আরও ঘনিষ্ঠভাবে সংশোধন করার জন্য কমান্ডগুলি সন্ধান করি ref :eআমার প্রয়োজনীয় পরিবর্তনগুলি করতে টেক্সট ফাইল এবং ব্যবহার এবং ম্যাক্রো রেকর্ডিংয়ের একটি ম্যাসআপে তালিকাটি সংরক্ষণ করুন Save

আমি দেখতে পেয়েছি যে কম মরিচা আমি আমার ম্যাক্রো রেকর্ডিং দক্ষতাগুলিকে আরও কার্যকর রাখি রিফ্যাক্টরিংয়ের জন্য ভিমকে খুঁজে পাই: নিবন্ধগুলি থেকে রেজিস্টারগুলি পুনরুদ্ধার / পুনরুদ্ধার করা স্বাচ্ছন্দ্য বোধ করা, রেজিস্টার কাউন্টার ভেরিয়েবলগুলি বৃদ্ধি / হ্রাসকরণ, পরে ব্যবহারের জন্য ফাইল করার জন্য ম্যাক্রো রেকর্ডিংগুলি সাফ / সংরক্ষণ করা ইত্যাদি feeling


হালনাগাদ

যে পদ্ধতিগুলি আমি বর্ণনা করি তার জন্য এই আরও ভিডিওোকাস্টগুলি লেখার পরে vimcast.org এ প্রকাশিত হয়েছে (আমি আপনাকে সমস্ত ভিমকাস্টগুলি দেখার জন্য উত্সাহিত করি ! )। রিফ্যাক্টরিং এর জন্য এইগুলি দেখুন:

ভিমগল্ফ অনুশীলন করার একটি দুর্দান্ত উপায়।

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


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

4
@ কুবার্তো ওক্যাম্পো আমি কিছুটা হলেও আপনার সাথে একমত হই: কোনও প্রকল্পের কাঠামোগত দিক (কাঠামো, ভাষা (গুলি), কর্মীদের দক্ষতা এবং সংস্থানসমূহের উপর ভিত্তি করে, কয়েকটি নাম দেওয়ার জন্য), আপনার সমস্যার ক্ষেত্রে কার্যকর রিফ্যাক্টরিংয়ের সরঞ্জাম থাকতে পারে। আমার উত্তর পরিস্থিতিগুলিতে প্রযোজ্য যখন এটি সত্য নয় এবং আপনি ভিমে সমস্যাটি মোকাবেলা করতে চান।
dsummersl

4
এটি ঠিক আছে, আমি বুঝতে পেরেছি যে লোকেরা তাদের দীর্ঘ সময়ের পছন্দসই সরঞ্জামগুলি ব্যবহার করে জিনিসটি করতে আরও স্বাচ্ছন্দ্য বোধ করতে পারে এবং এমন কিছু হ্যাক রয়েছে যা সত্যিই ভাল পারফর্ম করতে পারে, সম্ভবত কোনও আইডিইর চেয়ে ভাল, তবে বাইরে থাকার জন্য -বক্স সমাধান আমি বলতে পারি একটি প্রকৃত IDE বেশিরভাগ ব্যবহারকারীর জন্য আরও ভাল সম্পাদন করবে। আমি ৮০-২০% ধরণের পরিস্থিতি নিয়ে ভাবছি (আরও বেশি, আইডিইর পক্ষে ভারসাম্য রেখে)।
কাটবার্তো ওকাম্পো

4
ব্যবহারিকভাবে প্রতিটি ভাষার জন্য একটি আদর্শ আছে। ভিএম বা রেজেক্সের সাথে রিফ্যাক্টর করার চেষ্টা করা একেবারে উন্মাদ শোনায়। আপনি কেন চেষ্টা করবেন?
রোলগুলি

4
@ রোলগুলি এলোমেলো সহকর্মীর অ-প্রয়োজনযুক্ত মেশিনটি আপনার আদর্শ নয় বা যে কোনও সিএফজির সাথে আপনি কেবল থাকতে পারেন তা ধরে নেওয়ার পক্ষে যথেষ্ট শক্তিশালী হতে পারে ("কেবল ছাপ" নয় তবে খ্যাতি এবং ভবিষ্যতের অবস্থানের জন্য) একটি ভাল ছাপ রেখে যেতে পারে।
রক্তাক্ত

29

ভাষা সার্ভার প্রোটোকল (এলএসপি)

ল্যাঙ্গুয়েজ সার্ভার প্রোটোকলে একটি প্রকল্প জুড়ে প্রতীকগুলির নাম পরিবর্তন করার বৈশিষ্ট্য রয়েছে :

https://microsoft.github.io//language-server-protocol/specifications/specifications-3-14/#textDocament_rename

উদাহরণস্বরূপ নিম্নলিখিত ভাষা সার্ভার এটিকে সমর্থন করে:

  • সি ++ এর জন্য জটলা
  • সি / সি / সি ++ / উদ্দেশ্য-সি এর জন্য সিসিএল
  • জাভা জন্য Eclipse.jdt.ls
  • পাইথনের জন্য পাইস (দড়ি দিয়ে)
  • tsserver জন্য টাইপ করা বিষয়
  • Solargraph জন্য রুবি
  • gopls জন্য অফিসিয়াল LSP যান (নভেম্বর 2019 আলফা পর্যায়)
  • texlab জন্য ক্ষীর

আপনি https://langserver.org/ এর অধীনে আরও ভাষা সার্ভারগুলি পেতে পারেন ।

ভিম

একটি ভিএম এডিটর ক্লায়েন্ট তাদের ভিএম এর মধ্যে ব্যবহার করা প্রয়োজন। নিম্নলিখিত বিকল্পগুলি বিদ্যমান:

  1. ল্যাঙ্গুয়েজ ক্লিনেন্ট-নিওভিম (মরিচা প্রয়োজন) ম্যাপিংয়ের পরামর্শ দেয়:

     nnoremap <silent> <F2> :call LanguageClient_textDocument_rename()<CR>
    
  2. coc.nvim (node.js প্রয়োজন) ম্যাপিংয়ের পরামর্শ দেয়:

     " Remap for rename current word
     nmap <leader>rn <Plug>(coc-rename)
    
  3. আলে আছে

     nnoremap <silent> <Plug>(ale_rename) :ALERename<Return>
    

    আলে কোনও কী-বাইন্ডিং সংজ্ঞায়িত করে না। এটি ব্যবহারকারীকে করতে হবে।

  4. vim-lsp নিম্নলিখিত কমান্ড সরবরাহ করে

     :LspRename
    

আলে এর মতো কোনও ম্যাপিংয়ের পরামর্শ দেওয়া হয়নি। তবে, অবশ্যই আপনি নিম্নলিখিত হিসাবে একটি নির্ধারণ করতে পারেন

    nmap <leader>r <plug>(lsp-rename)

( <leader>rআপনার পছন্দ অনুসারে প্রতিস্থাপন করা হবে; কোন প্লাগইন সম্মত হয় তা আমি জানি না)

  1. vim-lsc এর একটি ডিফল্ট ম্যাপিং রয়েছে:

     'Rename': 'gR'
    

এছাড়াও ইউ-কমপ্লিমিও দেখুন যা এলএসপিকে পাশাপাশি সহায়তা করে।

নিওভিম

13.11.2019 থেকে নিওভিমের এলএসপি-র জন্য প্রাথমিক অন্তর্নির্মিত সমর্থন রয়েছে

এলএসপি https://github.com/neovim/nvim-lsp এর সাধারণ কনফিগারেশনগুলির জন্য দেখুন

তবে, স্মার্ট নামকরণ কীভাবে কাজ করে তা আমি বুঝতে পারি না। যদি কেউ এটি জানেন তবে দয়া করে এই বিভাগটি আপডেট করুন।

অন্যান্য রিফ্যাক্টরিংস

আমি জানি না যে আরও জটিল রিফ্যাক্টরিংগুলিকে সমর্থন করার জন্য এলএসপি প্রোটোকলের জন্য পরিকল্পনা রয়েছে, যেমন শ্রেণি কাঠামো পরিবর্তন করা, পদ্ধতি / ক্রিয়াকলাপগুলিতে পরামিতি যুক্ত করা বা কোনও পদ্ধতিকে অন্য শ্রেণিতে স্থানান্তর করা। রিফ্যাক্টরিংগুলির তালিকার জন্য https://refactoring.com/catolog/ দেখুন


দুর্ভাগ্যক্রমে, এলএসপিতে রিফ্যাক্টরিংয়ের জন্য সহায়তা বর্তমানে শিল্পের তুলনায় বেশ দুর্বল। github.com/Mic Microsoft
মিকেল

4
এএএআইএআইকি যে coc-renameকেবলমাত্র নতুন বাফারে নাম পরিবর্তন করে। এটি প্রকল্পে (ফাইল জুড়ে) বিশ্বব্যাপী রফতানি নামের ব্যবহার আপডেট করে না।
অলিগোফ্রেন

16

পাইথন

জন্য পাইথন নিম্নোক্ত প্ল্যাগ-ইনগুলি প্রদান তেজ জন্য 'স্মার্ট' পুনঃনামকরনের ক্ষমতা ভাষা:


13

সি-পরিবার

  1. সি-পরিবারের পুনর্নবীকরণের জন্য প্লাগইন ক্লিটার চেষ্টা করুন । এটি ঝাঁকুনির উপর ভিত্তি করে, তবে কিছু সীমাবদ্ধতা রয়েছে এবং প্লাগইনটিকে অবচয় হিসাবে চিহ্নিত করা হয়েছে।

    ক্লিটার দ্বারা প্রস্তাবিত ম্যাপিং হয়

     nmap <silent> <Leader>r :call clighter#Rename()<CR>
    

    দ্রষ্টব্য, উত্তরসূরি প্লাগইন ক্লিটার 8 প্রতিশ্রুতি 24927db42 এর নামকরণ কার্যকারিতা সরিয়ে দিয়েছে

  2. আপনি যদি নেওভিম ব্যবহার করেন তবে প্লাগইন ক্ল্যাম্পটি একবার দেখে নিতে পারেন । এটা প্রস্তাহ করা যাচ্ছে

     nmap <silent> <Leader>r :call ClampRename()<CR>
    

5

জেনেরিক রিফ্যাক্টরিংয়ের জন্য আমি এই প্লাগইনটি লিখেছিলাম । এটি এখনও অনেক উন্নতি প্রয়োজন। ভবিষ্যতে একসময় আমি সি ও সি ++ রিফ্যাক্টরিংয়ের জন্য ঝাঁকুনির পক্ষে সিটি্যাগগুলি বর্জন করার চেষ্টা করব।


5

প্লাগইন YouCompleteMe (YCM) (গিথুবের উপর 20 কে তারা)

http://ycm-core.github.io/ YouCompleteMe/#the-refactorrename-new-name-subcommand

:h RefactorRename-new-name

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

অনুরূপ FixIt, এই কমান্ডটি আপনার উত্স ফাইলগুলিতে স্বয়ংক্রিয় পরিবর্তনগুলি প্রয়োগ করে। পুনঃনামকরণ ক্রিয়াকলাপগুলি একাধিক ফাইলের পরিবর্তনগুলিতে জড়িত থাকতে পারে, যা সেই সময় ভিম বাফারগুলিতে খোলা থাকতে পারে বা নাও হতে পারে। YouCompleteMe আপনার জন্য এই সমস্ত পরিচালনা করে। আচরণটি নিম্নলিখিত বিভাগে বর্ণিত হয়েছে।

ফাইল টাইপগুলিতে সমর্থিত: সি, সিপিপি, ওজেকসি, আইজেকসিপি, চুদা, জাভা, জাভাস্ক্রিপ্ট, টাইপসক্রিপ্ট, মরিচা, সিএস

ডিফল্টরূপে কোনও ম্যাপিং নেই।


সুতরাং আপাতত এটি কেবল জাভাস্ক্রিপ্ট, টাইপস্ক্রিপ্ট এবং জাভা জন্য কাজ করে?
এসআর

= Ycm_clangd_args [ '-cross-ফাইল-পুনঃনামকরণ']: দিন ছ: অর্ডার (clangd ব্যবহার করে) সি-পরিবার একাধিক ফাইল জুড়ে এই কাজ করতে আপনি আপনার .vimrc এই যোগ করতে হবে সালে
jav

4

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

একবার চেষ্টা করে দেখো.


3

প্লাগিন কারখানা

অন্য তেজ প্লাগইন নামক refactoring জন্য নিবেদিত factorus যা পাওয়া যায় GitHub

বর্তমানে (2017-12), এটি ভাষাগুলি সমর্থন করে

  • সি,
  • জাভা, এবং
  • অজগর

2

রিফ্যাক্টর এবং টাইপ করতে নামে কার্সার রাখুন

gd(বা gDযদি আপনি একটি বিশ্বব্যাপী পরিবর্তনশীল রিফ্যাক্টর করছেন)।

তারপরে

cgn নতুন নাম esc

এবং

. একাধিকবার রিফ্যাক্টর পরবর্তী ঘটনা (গুলি)

বা

:%norm . একবারে বাফারে সমস্ত ঘটনাগুলি রিফ্যাক্টর করতে।


1

আমি ভিমে প্রচুর সি / সি ++ কোড লিখি। আমি যে সর্বাধিক প্রচলিত রিফ্যাক্টরিং করি তা হল ভেরিয়েবল, শ্রেণীর নাম ইত্যাদির নামকরণ। সাধারণত, আমি :bufdo :%s/source/dest/gফাইলগুলিতে অনুসন্ধান / প্রতিস্থাপন করতে ব্যবহার করি যা প্রায় বড় আইডিই'র দেওয়া নাম পরিবর্তনের মতো same
যাইহোক, আমার ক্ষেত্রে, আমি দেখতে পেলাম যে আমি সাধারণত একই রকম সত্তার নাম পরিবর্তন করি, বিভিন্ন ক্ষেত্রে বানান (যেমন ক্যামেলকেস, সর্পকেস, ইত্যাদি), তাই আমি এই ধরণের "স্মার্ট-কেস" অনুসন্ধান / প্রতিস্থাপন, এটি এখানে হোস্ট করা হয় । এটি একটি কমান্ড-লাইন ইউটিলিটি, ভিআইএম এর জন্য একটি প্লাগইন নয়, আমি আশা করি আপনি এটি দরকারী খুঁজে পেতে পারেন।


0

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


0

দুটি প্লাগইনের সংমিশ্রণ: ভিআইএম-রিগগ্রিপ , ফাইলগুলি সন্ধান করতে এবং কুইকফিক্স উইন্ডোতে ফলাফলগুলি স্থান দিতে এবং কুইকফিক্স-প্রতিফলককে তাত্ক্ষণিকভাবে উইন্ডোটিতে পরিবর্তনগুলি সংরক্ষণ করতে এবং ফাইলগুলিতে প্রতিটি পরিবর্তন স্বয়ংক্রিয়ভাবে সংরক্ষণ করতে হবে have


0

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

স্পেসম্যাকস এটির প্রাথমিক লোডটিতে অনেক বেশি ভারী হাতে রয়েছে তবে এটির সাথে অতিরিক্ত কাজগুলি আপনি করতে পারেন স্টার্টআপ ব্যয়ের কয়েক সেকেন্ড worth একটি স্তর org- মোড এটি পরীক্ষা করে দেখুন। এটি আমার পক্ষে সর্বকালের সেরা আউটলাইনার, প্রোগ্রামার, ডে টাইমার / টুডো তালিকা।


0

যাওয়া

  1. টুল godoctor ( GitHub ) বিভিন্ন refactoring ক্ষমতা সমর্থন
  • নতুন নামকরণ করুন
  • এক্সট্রাক্ট ফাংশন
  • স্থানীয় পরিবর্তনশীল এক্সট্রাক্ট
  • টগল করুন ⇔: =
  • গডোক স্টাব যুক্ত করুন

এখানে একটি ভিআইএম প্লাগইন রয়েছে https://github.com/godoctor/godoctor.vim যা তাদের উপলব্ধ করে তোলে

নাম পরিবর্তন করতে কার্সার সহ:

:Rename <newname>

নিষ্কাশন করতে ব্লক হাইলাইট করা:

:Refactor extract newfunc
  1. ভিম-গো

    • এর সাথে সনাক্তকারীদের যথার্থ টাইপ-নিরাপদ নামকরণ :GoRename
  2. ভাষা সার্ভার gopls

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