fittencode.nvim
리팩토링된 fittencode.nvim이 준비되었습니다.
✨ 기능
- 🚀 Fitten Code 덕분에 빠른 완성
- ⚡️ 향상된 성능을 위한 비동기 I/O
- ✏️ 향상된 인라인 완성
- ✨ 인라인 완성
- ✂️ 완성 편집
- 📂 프로젝트 완성
- 🧩 C/C++
- 🔄 범위별 수락/취소
- 📝 문자
- 📖 단어
- 📜 줄
- 📋 전체
- 🀄️ 문자 분할 지원이 포함된 향상된 중국어 완성
- 🔌
blink.cmp및 네이티브 Neovim LSP 서버용 소스
⚡️ 요구사항
- Neovim 0.11 이상
- curl
📦 설치
선호하는 패키지 관리자를 사용하여 플러그인을 설치하세요:
예를 들어 lazy.nvim으로:
{
'luozhiya/fittencode.nvim',
opts = {},
}⚙️ 구성
이 버전은 채팅 기능을 지원하지 않습니다.
server = {
-- Avaiable options:
-- * 'default'
-- * 'standard'
-- * 'enterprise'
fitten_version = 'default',
-- The server URL for Fitten Code.
-- You can also change it to your own server URL if you have a private server.
-- Default server URL: 'https://api.fittentech.com'
server_url = '',
},
action = {
document_code = {
-- Show "Fitten Code - Document Code" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
edit_code = {
-- Show "Fitten Code - Edit Code" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
explain_code = {
-- Show "Fitten Code - Explain Code" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
find_bugs = {
-- Show "Fitten Code - Find Bugs" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
generate_unit_test = {
-- Show "Fitten Code - Generate UnitTest" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
optimize_code = {
-- Show "Fitten Code - Optimize Code" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
start_chat = {
-- Show "Fitten Code - Start Chat" in the editor context menu, when you right-click on the code.
show_in_editor_context_menu = true,
},
},
-- Add Certain Type to Commit Message
add_type_to_commit_message = {
-- Avaiable options:
-- * 'auto'
-- * 'concise' Concise Commit Message
-- * 'detailed' Detailed Commit Message
open = 'auto',
},
agent = {
-- Simplify Agent's Thinking Output
-- Avaiable options:
-- * 'auto'
-- * 'on'
-- * 'off'
simple_thinking = 'auto',
},
delay_completion = {
-- Delay time for inline completion (in milliseconds).
---@type integer
delaytime = 0,
},
disable_specific_inline_completion = {
-- Disable auto-completion for some specific file suffixes by entering them below
-- For instances, suffixes = {'lua', 'cpp'}
suffixes = {},
},
inline_completion = {
-- Enable inline code completion.
---@type boolean
enable = true,
-- Auto triggering completion
---@type boolean
auto_triggering_completion = true,
-- Disable auto completion when the cursor is within the line.
---@type boolean
disable_completion_within_the_line = false,
-- Disable auto completion when pressing Backspace or Delete.
---@type boolean
disable_completion_when_delete = false,
-- Disable auto completion when entering Insert mode InsertEnter.
disable_completion_when_insert_enter = true,
-- Disable auto completion when the popup menu is changed CompleteChanged.
disable_completion_when_pumcmp_changed = false,
-- Disable auto completion when the buffer is not a file.
disable_completion_when_nofile_buffer = true,
},
integrations = {
completion = {
-- Enable completion as an LSP server.
---@type boolean
lsp_server = false,
-- Enable completion as an blink.cmp source
blink = false
},
commit_message = false,
filetype = false,
},
language_preference = {
-- Language preference for display and responses in Fitten Code (excluding "Fitten Code - Document Code" function).
-- Lower case of the BCP 47 language tag.
-- Avaiable options:
-- * 'en'
-- * 'zh-cn'
-- * 'auto'
display_preference = 'zh-cn',
-- Language preference when using function "Fitten Code - Document Code".
-- Lower case of the BCP 47 language tag.
-- Avaiable options:
-- * 'en'
-- * 'zh-cn'
-- * 'auto'
comment_preference = 'auto',
-- Language preference for commit message.
-- Lower case of the BCP 47 language tag.
-- Avaiable options:
-- * 'en'
-- * 'zh-cn'
-- * 'auto'
commit_message_preference = 'auto',
},
-- Show menu as submenu in the editor context menu, when you right-click on the code.
show_submenu = false,
snippet = {
-- The comment / document snippet as the style reference for Fitten Code's Document Code function.
comment = '',
},
unit_test_framework = {
-- Unit Test Framework for C/C++
-- Avaiable options:
-- * 'gmock',
-- * 'gtest'
['C/C++'] = 'Not specified',
-- Unit Test Framework for Go
-- Avaiable options:
-- * 'gomock'
-- * 'gotests'
-- * 'testify'
-- * 'monkey'
-- * 'sqlmock'
-- * 'httptest'
['Go'] = 'Not specified',
-- Unit Test Framework for Java
-- Avaiable options:
-- * 'mockito'
-- * 'junit4'
-- * 'junit5'
-- * 'testNG'
-- * 'spock'
-- * 'jmockit'
['Java'] = 'Not specified',
-- Unit Test Framework for JavaScript/TypeScript
-- Avaiable options:
-- * 'mock'
-- * 'jest'
-- * 'tape'
-- * 'mocha'
['JavaScript/Typescript'] = 'Not specified',
-- Unit Test Framework for Python
-- Avaiable options:
-- * 'mock'
-- * 'pytest'
-- * 'doctest'
-- * 'unittest'
['Python'] = 'Not specified',
},
-- Intelligent Triggered Edit Completion
use_auto_edit_completion = {
-- Avaiable options:
-- * 'auto'
-- * 'on'
-- * 'off'
open = 'auto',
},
-- Automatic Project Index Creation
use_auto_upload_project = {
-- Avaiable options:
-- * 'auto'
-- * 'on'
-- * 'off'
open = 'auto',
},
-- Entire Project Perception based Completion
use_project_completion = {
-- Avaiable options:
-- * 'auto'
-- * 'on'
-- * 'off'
open = 'auto',
},
-- Use default keymaps for Fitten Code.
-- If set to false, all defaults keymaps will be removed.
use_default_keymaps = true,
-- Default keymaps for Fitten Code.
keymaps = {
inline = {
inccmp = {
['inline_completion'] = '',
['accept_all'] = '',
['accept_next_line'] = '',
['accept_next_word'] = '',
['revoke'] = { '', '' },
-- ['cancel'] = '',
},
editcmp = {
['edit_completion'] = '',
['accept_all'] = '',
['accept_next_hunk'] = '',
['revoke'] = { '', '' },
['cancel'] = '',
}
},
chat = {
['add_selection_context_to_input'] = 'A-X',
['document_code'] = '',
['edit_code'] = '',
['explain_code'] = '',
['find_bugs'] = '',
['generate_unit_test'] = '',
['optimize_code'] = '',
['start_chat'] = '',
}
},
log = {
level = vim.log.levels.WARN,
-- Notify when log errors occur.
notify_on_errors = false,
trace = false,
},
colors = {
-- { fg = '#ffffff', bg = '#000000', style = 'bold' }
['Suggestion'] = {},
['InfoNotify'] = {},
['Commit'] = {},
},
🚀 사용법
| 명령어 이름 | 설명 | |-------------------|-----------------------| | register | 계정 등록 | | login | 계정 로그인 | | login3rd | 제3자 로그인 | | logout | 계정 로그아웃 | | ask_question | 질문하기 | | user_guide | 사용자 안내서 | | enable_completions| 완성 기능 활성화 | | disable_completions| 완성 기능 비활성화 | | onlyenable_completions| 특정 파일에 대해 완성 기능 활성화 | | onlydisable_completions| 특정 파일에 대해 완성 기능 비활성화 |
✏️ API
| 함수명 | 설명 |
|------------------|--------------------------------|
| has_completions() | 완성 제안이 있는지 확인 |
| accept(scope) | 현재 완성 제안 수락 |
| revoke() | 마지막 완성 작업 취소 |
| completion_cancel() | 현재 완성 제안 취소 |
| get_status() | 완성 시스템의 현재 상태 가져오기 |
🎉 특별 감사
https://github.com/FittenTech/fittencode.vim
--- Tranlated By Open Ai Tx | Last indexed: 2026-05-24 ---