Maak een Neovim Plugin Setup voor Verbeterde Code Refactoring
description
Met deze prompt kunnen gebruikers een op maat gemaakte Neovim omgeving creëren die gericht is op code refactoring, waardoor complexe codewijzigingen sneller en minder foutgevoelig worden. Het vult een unieke behoefte in door zich te richten op refactoring workflows, in tegenstelling tot bestaande prompts die zich richten op algemene productiviteit of taalspecifieke configuraties.
prompt
Help me een Neovim plugin- en toetsbindingconfiguratie te maken die mijn vermogen om code refactoringen efficiënt uit te voeren verbetert. Mijn belangrijkste programmeertalen zijn: <voer je belangrijkste programmee ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een voorstel voor een Neovim-configuratie die je helpt bij efficiënte refactorings voor Python en JavaScript, inclusief aanbevolen plugins en toetsbindings.
1. Plugins voor refactoring en taalondersteuning
- **nvim-lspconfig**: Voor LSP-ondersteuning, inclusief refactoring functies
- **nvim-treesitter**: Voor syntaxhighlighting en code-analyse
- **refactoring.nvim**: Voor eenvoudige refactorings zoals variabelen hernoemen en methoden extracten
- **telescope.nvim**: Voor snel zoeken en navigatie
2. Installatie (bijvoorbeeld met vim-plug):
```vim
call plug#begin('~/.vim/plugged')
" LSP configuratie
Plug 'neovim/nvim-lspconfig'
" Treesitter voor betere syntax
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" Refactoring plugin
Plug 'ThePrimeagen/refactoring.nvim'
" Telescope voor zoeken
Plug 'nvim-telescope/telescope.nvim', { 'do': ':UpdateRemotePlugins' }
call plug#end()
```
3. Basisconfiguratie en toetsbindings
```lua
-- LSP en Tree-sitter setup
require'nvim-treesitter.configs'.setup {
ensure_installed = {"python", "javascript"},
highlight = {enable = true},
}
local nvim_lsp = require('lspconfig')
-- LSP servers voor Python en JavaScript
nvim_lsp.pyright.setup{}
nvim_lsp.tsserver.setup{}
-- Refactoring plugin setup
require('refactoring').setup{}
-- Toetsbindings
local opts = { noremap=true, silent=true }
-- Variabele hernoemen (via LSP)
vim.api.nvim_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
-- Methoden extracten (via refactoring.nvim)
vim.api.nvim_set_keymap('n', '<leader>re', "<Esc><cmd>lua require('refactoring').refactor('Extract Function')<CR>", opts)
-- Andere handige refactoring tools
vim.api.nvim_set_keymap('n', '<leader>rf', "<Esc><cmd>lua require('refactoring').refactor('Extract Variable')<CR>", opts)
-- Optional: snel navigeren met Telescope
vim.api.nvim_set_keymap('n', '<leader>ff', "<cmd>lua require'telescope.builtin'.find_files()<CR>", opts)
```
4. Extra tips
- Zorg dat je de LSP servers hebt geïnstalleerd (bijvoorbeeld met npm: `npm install -g pyright typescript`)
- Gebruik de toetsbindings om snel variabelen te hernoemen (`<leader>rn`) en functies te extracten (`<leader>re` en `<leader>rf`)
- Pas de bindings aan naar je voorkeur
Met deze setup kun je efficiënt variabelen hernoemen en functies extracten binnen je Python- en JavaScript-code, wat je refactoring-werk aanzienlijk versnelt.
provider: deepseek
model: deepseek-chat
no_answer_for_language
error: Generation failed [deepseek] prompt_id=2167 locale=nl err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2167 locale=en err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2167 locale=de err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2167 locale=fr err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2167 locale=pt err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2167 locale=es err=DeepSeek connection/timeout | Generation failed [deepseek] prompt_id=2167 locale=zh err=DeepSeek connection/timeout