অ্যাডস্ল্যাবস/অ্যামাজন.এনভিআইএম: অ্যামাজন কিউ বিকাশকারী জন্য নিওভিম প্লাগইন

অ্যাডস্ল্যাবস/অ্যামাজন.এনভিআইএম: অ্যামাজন কিউ বিকাশকারী জন্য নিওভিম প্লাগইন

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

  • নাচ> = 18
  • আনডিয়া> = 0.10.4
  1. আপনার পছন্দসই পদ্ধতি ব্যবহার করে প্লাগইন ইনস্টল করুন (দেখুন ইনস্টলেশন বিকল্প)
  2. আপনার নিউওভিম কনফিগারেশনে প্লাগইনটি কনফিগার করুন:
    require('amazonq').setup({
      ssoStartUrl = '', -- Authenticate with Amazon Q Free Tier
    })
  3. চালানো :AmazonQ যে কোনও ফাইল থেকে প্লাগইন ব্যবহার শুরু করতে

ন্যূনতম ম্যানুয়াল ইনস্টলেশন

প্লাগইনটি ইনস্টল করতে এবং ব্যবহার করতে, আপনাকে কেবল এই রেপোটি ক্লোন করতে হবে এবং নিউওভিম রানটাইমপথের অবস্থানে যুক্ত করতে হবে:

-- Add the plugin to Neovim's runtimepath
vim.cmd((set runtimepath+=/path/to/amazonq.nvim))

-- Configure the plugin
require('amazonq').setup({
  ssoStartUrl = '', -- Authenticate with Amazon Q Free Tier
})
  • দেখুন কনফিগারেশন অন্যান্য সেটিংস কনফিগার করতে।
    • ডিফল্টরূপে প্লাগইনটি সন্ধান করবে node আপনার $ পথে একটি সুস্পষ্ট অবস্থান সেট করতে, সেট করুন cmd
  1. চালানো :AmazonQ যে কোনও ফাইল থেকে।
  2. Al চ্ছিক: কোড সম্পূর্ণকরণগুলি “টেক্সটডোকামেন্ট/সমাপ্তি” এলএসপি পদ্ধতি দ্বারা সরবরাহ করা হয়, যা বেশিরভাগ স্বতঃপ্রকাশের প্লাগইনগুলির সাথে “সবেমাত্র কাজ করে”।
local Plug = vim.fn('plug#')
vim.call('plug#begin')
Plug 'git@github.com:awslabs/amazonq.nvim.git'
vim.call('plug#end')

require('amazonq').setup({
  ssoStartUrl = '', -- Authenticate with Amazon Q Free Tier
})

দেখুন নির্দেশাবলী ইনস্টল করুন

-- plugins.lua
return {
  {
    name = 'amazonq',
    url = 'https://github.com/awslabs/amazonq.nvim.git',
    opts = {
      ssoStartUrl = '',  -- Authenticate with Amazon Q Free Tier
    },
  },
}

অ্যামাজন কিউ বিকাশকারীকে প্রমাণীকরণ

আপনি দুটি পদ্ধতির একটি ব্যবহার করে প্রমাণীকরণ করতে পারেন:

  • অ্যামাজন কিউ ফ্রি টায়ার: ইউআরএল সহ এডাব্লুএস বিল্ডার আইডি ব্যবহার করুন
  • অ্যামাজন কিউ বিকাশকারী প্রো: আপনার প্রশাসকের দ্বারা সরবরাহিত স্টার্ট ইউআরএল ব্যবহার করুন

সেট করে প্রমাণীকরণ কনফিগার করুন ssoStartUrl আপনার সেটআপে মান:

require('amazonq').setup({
  ssoStartUrl = '', -- For Free Tier with AWS Builder ID
  -- OR
  -- ssoStartUrl="your-organization-sso-url", -- For Pro subscription
})

প্লাগইন একটি একক গ্লোবাল সরবরাহ করে :AmazonQ কমান্ড এবং zq ম্যাপিং:

কমান্ড/ম্যাপিংবর্ণনা
:AmazonQঅ্যামাজন কিউ চ্যাট উইন্ডো খুলুন
zqপাঠ্য নির্বাচন করুন, তারপরে টাইপ করুন zq এটি চ্যাট প্রসঙ্গে সংযোজন করতে। সমতুল্য: পাঠ্য নির্বাচন করুন, টাইপ করুন :AmazonQতারপরে কমান্ডটি চালান।
:AmazonQ refactorকোড নির্বাচন করুন, তারপরে রিফ্যাক্টরিং পরামর্শগুলি পেতে এটি চালান
:.AmazonQ fixকেবলমাত্র বর্তমান লাইনটি ঠিক করুন (স্ট্যান্ডার্ড “” “রেঞ্জের অর্থ” বর্তমান লাইন “)
:%AmazonQ optimizeবর্তমান ফাইলের পুরো বিষয়বস্তু অনুকূলিত করুন
:AmazonQ explainবর্তমান ফাইলটি ব্যাখ্যা করুন

সম্পূর্ণ ডকুমেন্টেশনের জন্য, দেখুন: অ্যামাজন-ব্যবহার এবং: অ্যামাজন-চ্যাটে সহায়তা করুন।

নীচে তাদের ডিফল্ট মানগুলির সাথে উপলব্ধ কনফিগারেশন বিকল্পগুলি রয়েছে। শুধুমাত্র ssoStartUrl প্রয়োজন। দেখুন: বিশদগুলির জন্য অ্যামাজনকিউ-কনফিগারেশনকে সহায়তা করুন।

require('amazonq').setup({
  -- REQUIRED: SSO portal URL for authentication
  ssoStartUrl = '',
  -- OR
  -- ssoStartUrl="your-organization-sso-url", -- For Pro subscription

  -- Command to start Amazon Q Language Server
  -- Defaults to the language server bundled with this plugin
  cmd = { 'node', 'language-server/build/aws-lsp-codewhisperer-token-binary.js', '--stdio' },
  
  -- Filetypes where the Q will be activated
  -- See: 
  -- `amazonq` is required for Q Chat feature.
  filetypes = {
      'amazonq', 'bash', 'java', 'python', 'typescript', 'javascript', 'csharp', 
      'ruby', 'kotlin', 'sh', 'sql', 'c', 'cpp', 'go', 'rust', 'lua',
  },

  -- Enable/disable inline code suggestions
  inline_suggest = true,

  -- Configure the chat panel position and appearance
  on_chat_open = function()
    vim.cmd((
      vertical topleft split
      set wrap breakindent nonumber norelativenumber nolist
    ))
  end,

  -- Enable debug mode for development
  debug = false,
})

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

ইনলাইন পরামর্শ ব্যবহার করতে:

  1. সাথে প্রমাণীকরণ :AmazonQ login
  2. একটি সমর্থিত ফাইল টাইপ টাইপ করা শুরু করুন
  3. আপনার সমাপ্তি প্লাগইনের কীবাইন্ডিং ব্যবহার করে ট্রিগার সমাপ্তি

ইনলাইন পরামর্শগুলি ডিফল্টরূপে সক্ষম করা হয়। তাদের অক্ষম করতে:

require('amazonq').setup({
  -- Other settings...
  inline_suggest = false,
})

প্লাগইন-নির্দিষ্ট কনফিগারেশনের জন্য, দেখুন: অ্যামাজন-কনফিগারেশন-সমাপ্তিতে সহায়তা করুন।

ভাষা সার্ভারের স্থিতি পরীক্ষা করা হচ্ছে

ভাষা সার্ভারটি যাচাই করতে চলছে:

এটি দেখায় যদি সার্ভারটি বর্তমান ফাইলের সাথে সংযুক্ত থাকে এবং লগ ফাইলের পথটি প্রদর্শন করে (যেমন) /local/home/$user/.local/state/nvim/lsp.log)।

প্লাগইন এবং ভাষা সার্ভারের মধ্যে বিশদ যোগাযোগ দেখতে:

vim.lsp.set_log_level('debug')
  • যদি প্লাগইনটি কাজ না করে তবে নোডেজেস> = 18 ইনস্টল করা আছে এবং আপনার পথে নিশ্চিত করুন
  • প্রমাণীকরণের বিষয়গুলির জন্য, আপনার যাচাই করুন ssoStartUrl সঠিক
  • ফাইল টাইপ-নির্দিষ্ট সমস্যার জন্য, ফাইল টাইপটি আপনার মধ্যে রয়েছে তা পরীক্ষা করে দেখুন filetypes কনফিগারেশন

এই প্লাগইনটি বিকাশ করতে, আপনি সম্ভবত এটি এনভিআইএম -এ যুক্ত করতে চান 'runtimepath' যাতে আপনি সহজেই আপনার পরিবর্তনগুলি পরীক্ষা করতে পারেন। সেক্ষেত্রে, সরান এটি আপনার প্লাগইন ম্যানেজার কনফিগারেশন থেকে।

  1. স্থানীয়ভাবে ক্লোন অ্যামাজন.এনভিম প্যাকেজ:

    git clone git@github.com:awslabs/amazonq.nvim.git
    
  2. সরান আপনার প্লাগইন ম্যানেজার কনফিগারেশন থেকে অ্যামাজনকিউ.এনভিম, প্রয়োজনে।

  3. এনভিআইএম -এ অ্যামাজন.এনভিআইএম প্যাকেজ যুক্ত করুন 'runtimepath'। এটি এনভিআইএমকে সেই পথে প্লাগইনগুলি সন্ধান করতে বলে।

    vim.cmd((set runtimepath+=/path/to/amazonq.nvim))
  4. আপনি এখন ব্যবহার করতে পারেন amazonq প্লাগইন অ্যামাজন.এনভিআইএম প্যাকেজ পাথে অবস্থিত। আপনি সম্পাদনা করতে পারেন, সেগুলি পরীক্ষা করতে এনভিআইএম পুনরায় চালু করতে পারেন, টানুন অনুরোধগুলি খুলুন ইত্যাদি ইত্যাদি

    require('amazonq').setup({
      ssoStartUrl = '',
      debug = true, -- Enable debug mode during development
    })

প্লাগইন এবং ভাষা সার্ভারের আরও বাস্তবায়নের বিশদগুলির জন্য বিকাশ.এমডি দেখুন।

  • লগিং সক্ষম করতে, পাস debug=true থেকে require('amazonq').setup{}
  • লগগুলি লেখা হয় vim.fs.joinpath(vim.fn.stdpath('log'), 'amazonq.log')
  • এনভিআইএমও এর নিজস্ব উত্পাদন করে vim.lsp ডিফল্টরূপে লগ।
    • এনভিআইএম এলএসপির জন্য ডিবাগ লগ-স্তর সক্ষম করুন (ইঙ্গিত: এটি একটি কর্মক্ষেত্রে রাখুন .nvim.lua ফাইল এবং সক্ষম :help 'exrc' বিকল্প):
      vim.lsp.set_log_level('debug')
      
    • ফাইল: :lua =vim.lsp.log.get_filename()
    • অ্যামাজন কিউ ল্যাঙ্গুয়েজ সার্ভার দ্বারা উত্পাদিত লগগুলি সেখানে উপস্থিত হবে "window/logMessage" বার্তা:
      "window/logMessage", … "Runtime: Initializing runtime without encryption", type = 3 } }
      "window/logMessage", … "Runtime: Registering IAM credentials update handler", type = 3 } }
      "window/logMessage", … "Runtime: Registering bearer credentials update handler", type = 3 } }
      ...
      "window/logMessage", … "Q Chat server has been initialized", type = 3 } }
      "window/logMessage", … "SSO Auth capability has been initialised", type = 3 } }
      "window/logMessage", … "Auth Device command called", type = 3 } }
      "window/logMessage", … 'Resolved SSO token {"accessToken":"…","expiresAt":"2025-01-21T21:44:20.631Z",…}',…} }
      "window/logMessage", … "Received chat prompt", type = 3 } }
      "window/logMessage", … "Request for conversation id: New conversation", type = 3 } }
      

কোড ফর্ম্যাটিং এবং লিঙ্কিং

কোডটি স্টাইলুয়া ব্যবহার করে ফর্ম্যাট করা হয় এবং সেলিন ব্যবহার করে লিন্ট করা হয়। বর্তমানে এটি স্বয়ংক্রিয় নয়, আপনাকে অবশ্যই এটি ম্যানুয়ালি চালাতে হবে:

  1. প্রয়োজনীয় সরঞ্জামগুলি ইনস্টল করুন:
  2. রান (শীর্ষ স্তরের ডিরেক্টরি থেকে):
  • ইনলাইন পরামর্শগুলি ইন-প্রসেস এলএসপি শিম ক্লায়েন্ট তৈরি করে সরবরাহ করা হয় amazonq-completion
    • কিউ এলএসপি বাক্সের বাইরে এটি সরবরাহ না করা পর্যন্ত এটি একটি অস্থায়ী ব্যবস্থা।
    • ভিমের একটি সীমাবদ্ধতা রয়েছে যেখানে এটি নিউলাইনগুলি প্রতিস্থাপন করে \n নুল বাইটসের সাথে মাল্টিলাইন সম্পূর্ণকরণে, যা এটি হিসাবে রেন্ডার করে ^@। amonq.nvim এ নুল বাইটসকে প্রতিস্থাপন করে এর চারপাশে কাজ করে CompleteDone ইভেন্ট হ্যান্ডলার।

পরীক্ষামূলক স্থিতি এবং অবদান

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

আরও তথ্যের জন্য অবদান দেখুন।

এই প্রকল্পটি অ্যাপাচি -২.০ লাইসেন্সের অধীনে লাইসেন্সযুক্ত।

Source link