ทางเลือก Copilot ฟรีที่เร็วเป็นพิเศษสำหรับ Vim และ Neovim
Codeium เติมโค้ดของคุณโดยอัตโนมัติด้วย AI ใน IDE หลักทั้งหมด เราเปิดตัวการใช้งานปลั๊กอิน Codeium สำหรับ Vim และ Neovim เพื่อนำพลังพิเศษในการเขียนโค้ดอันทันสมัยนี้มาสู่นักพัฒนาจำนวนมากขึ้น ลองเข้าไปที่สนามเด็กเล่นของเราหากคุณต้องการลองใช้ Codeium ออนไลน์อย่างรวดเร็ว
ยินดีบริจาค! อย่าลังเลที่จะส่งคำขอดึงและปัญหาที่เกี่ยวข้องกับปลั๊กอิน
ติดตั้ง Vim (อย่างน้อย 9.0.0185) หรือ Neovim (อย่างน้อย 0.6)
ติดตั้ง Exafunction/codeium.vim
โดยใช้ตัวจัดการปลั๊กอิน vim ที่คุณเลือก หรือติดตั้งด้วยตนเอง ดูตัวเลือกการติดตั้งด้านล่าง
เรียกใช้ :Codeium Auth
เพื่อตั้งค่าปลั๊กอินและเริ่มใช้ Codeium
คุณสามารถเรียกใช้ :help codeium
เพื่อดูรายการคำสั่งและตัวเลือกการกำหนดค่าทั้งหมด หรือดูคู่มือนี้เพื่อดูคำแนะนำการใช้งาน Codeium อย่างรวดเร็ว
สำหรับรายการตัวเลือกการกำหนดค่าทั้งหมด คุณสามารถเรียกใช้ :help codeium
ตัวเลือกยอดนิยมบางส่วนมีการไฮไลต์ไว้ด้านล่าง
Codeium มีฟังก์ชันต่อไปนี้เพื่อควบคุมข้อเสนอแนะ:
การกระทำ | การทำงาน | การผูกเริ่มต้น |
---|---|---|
ล้างข้อเสนอแนะปัจจุบัน | codeium#Clear() |
|
ข้อเสนอแนะต่อไป | codeium#CycleCompletions(1) |
|
คำแนะนำก่อนหน้า | codeium#CycleCompletions(-1) |
|
ใส่คำแนะนำ | codeium#Accept() |
|
ทริกเกอร์คำแนะนำด้วยตนเอง | codeium#Complete() |
|
ยอมรับคำจากข้อเสนอแนะ | codeium#AcceptNextWord() |
|
ยอมรับบรรทัดจากข้อเสนอแนะ | codeium#AcceptNextLine() |
|
การผูกปุ่มเริ่มต้นของ Codeium สามารถปิดใช้งานได้โดยการตั้งค่า
let g: codeium_disable_bindings = 1
หรือใน Neovim:
vim . g . codeium_disable_bindings = 1
หากคุณต้องการปิดการใช้งานการเชื่อมโยง
คุณสามารถใช้ตัวเลือก g:codeium_no_map_tab
ได้
หากคุณต้องการผูกการกระทำข้างต้นกับคีย์อื่น สิ่งนี้อาจมีลักษณะดังนี้ใน Vim:
imap codeium#Accept()
imap codeium#AcceptNextWord()
imap codeium#AcceptNextLine()
imap call codeium#CycleCompletions(1)
imap call codeium#CycleCompletions(-1)
imap call codeium#Clear()
หรือใน Neovim (ใช้ wbthomason/packer.nvim หรือ folke/lazy.nvim):
-- Remove the `use` here if you're using folke/lazy.nvim.
use {
' Exafunction/codeium.vim ' ,
config = function ()
-- Change '' here to any keycode you like.
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#Accept ' ]() end , { expr = true , silent = true })
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#CycleCompletions ' ]( 1 ) end , { expr = true , silent = true })
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#CycleCompletions ' ]( - 1 ) end , { expr = true , silent = true })
vim . keymap . set ( ' i ' , ' ' , function () return vim . fn [ ' codeium#Clear ' ]() end , { expr = true , silent = true })
end
}
(ตรวจสอบให้แน่ใจว่าคุณรัน :Codeium Auth
หลังการติดตั้ง)
Codeium สามารถปิดการใช้งานสำหรับประเภทไฟล์บางประเภทโดยการตั้งค่าตัวแปร g:codeium_filetypes
ในไฟล์ config vim ของคุณ (vimrc/init.vim):
let g: codeium_filetypes = {
" bash " : v: false ,
" typescript " : v: true ,
}
Codeium ถูกเปิดใช้งานตามค่าเริ่มต้นสำหรับประเภทไฟล์ส่วนใหญ่
คุณยังสามารถ ปิด การใช้งานโคเดียมตามค่าเริ่มต้นด้วยตัวแปร g:codeium_enabled
และเปิดใช้งานด้วยตนเองต่อบัฟเฟอร์โดยการรัน :CodeiumEnable
:
let g: codeium_enabled = v: false
หรือใน Neovim:
vim . g . codeium_enabled = false
หรือคุณสามารถปิดการใช้งานโคเดียมสำหรับ ประเภทไฟล์ทั้งหมด ด้วยตัวแปร g:codeium_filetypes_disabled_by_default
และใช้ตัวแปร g:codeium_filetypes
เพื่อเลือกเปิดใช้งานโคเดียมสำหรับประเภทไฟล์ที่ระบุ:
" let g:codeium_enabled = v:true
let g: codeium_filetypes_disabled_by_default = v: true
let g: codeium_filetypes = {
" rust " : v: true ,
" typescript " : v: true ,
}
หากคุณต้องการปิดการใช้งานการเรียกให้เสร็จสิ้นโดยอัตโนมัติ:
let g: codeium_manual = v: true " You might want to use `CycleOrComplete()` instead of `CycleCompletions(1)`. " This will make the forward cycling of suggestions also trigger the first " suggestion manually. imapcall codeium#CycleOrComplete()
หากต้องการปิดใช้งานการแสดงคำแนะนำข้อความอัตโนมัติ (ข้อความสีเทาที่ปรากฏสำหรับคำแนะนำ):
let g: codeium_render = v: false
สถานะ Codeium สามารถสร้างขึ้นได้โดยการเรียกใช้ฟังก์ชัน codeium#GetStatusString()
ใน Neovim คุณสามารถใช้ vim.api.nvim_call_function("codeium#GetStatusString", {})
แทนได้ สร้างสตริงยาว 3 อักขระพร้อมสถานะ Codeium:
'3/8'
- ข้อเสนอแนะที่สามจาก 8'0'
- Codeium ไม่ส่งคืนข้อเสนอแนะ'*'
- กำลังรอการตอบกลับของ Codeium ในโหมดปกติ สถานะจะแสดงว่า Codeium เปิดหรือปิดใช้งานโดยแสดง 'ON'
หรือ 'OFF'
เพื่อที่จะแสดงในบรรทัดสถานะให้เพิ่มบรรทัดต่อไปนี้ใน .vimrc
:
set statusline+={…}%3{codeium#GetStatusString()}
รูปแบบที่สั้นกว่าโดยไม่มีโลโก้ Codeium:
set statusline+=%3{codeium#GetStatusString()}
โปรดตรวจสอบ :help statusline
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างสถานะใน VIM
vim-airline รองรับ Codeium นอกกรอบตั้งแต่คอมมิต 3854429d
การเรียกใช้ฟังก์ชัน codeium#Chat()
หรือใช้คำสั่ง Codeium Chat
จะเปิดใช้งานการค้นหาและการจัดทำดัชนีในโปรเจ็กต์ปัจจุบัน และเปิดใช้ Codeium Chat ในหน้าต่างเบราว์เซอร์ใหม่
: call codeium#Chat ()
:Codeium Chat
รูทของโปรเจ็กต์ถูกกำหนดโดยการค้นหาในไดเร็กทอรีการทำงานปัจจุบันของ Vim เพื่อหาไฟล์หรือไดเร็กทอรีเฉพาะบางไฟล์ที่จะนำเสนอ และไปยังไดเร็กทอรีหลักจนกว่าจะพบ รายการคำแนะนำนี้ผู้ใช้สามารถกำหนดค่าได้ และค่าเริ่มต้นคือ:
let g:codeium_workspace_root_hints = ['.bzr','.git','.hg','.svn','_FOSSIL_','package.json']
โปรดทราบว่าการเปิดตัวแชทจะเปิดใช้งานการตรวจวัดทางไกล
{
' Exafunction/codeium.vim ' ,
event = ' BufEnter '
}
Plug ' Exafunction/codeium.vim ' , { ' branch ' : ' main ' }
Plugin ' Exafunction/codeium.vim '
use ' Exafunction/codeium.vim '
เรียกใช้สิ่งต่อไปนี้ บน windows คุณสามารถแทนที่ ~/.vim
ด้วย $HOME/vimfiles
:
git clone https://github.com/Exafunction/codeium.vim ~ /.vim/pack/Exafunction/start/codeium.vim
เรียกใช้สิ่งต่อไปนี้ บน windows คุณสามารถแทนที่ ~/.config
ด้วย $HOME/AppData/Local
:
git clone https://github.com/Exafunction/codeium.vim ~ /.config/nvim/pack/Exafunction/start/codeium.vim