A Neovim plugin that displays debugger variable values as virtual text during debugging sessions.
nvim-dap-virtual-text is a Neovim plugin that extends nvim-dap by displaying variable values as virtual text directly in the code editor during debugging sessions. It solves the problem of constantly switching between code and debugger consoles to inspect variable states, making debugging more efficient and visual.
Neovim users who regularly debug code with nvim-dap and want a more integrated, visual debugging experience without leaving their editor.
Developers choose this plugin because it provides immediate visual feedback on variable states during debugging, reduces context switching, and offers extensive customization to fit individual workflows, all while leveraging the powerful nvim-treesitter ecosystem for accurate variable detection.
nvim-dap-virtual-text enhances the debugging experience in Neovim by showing variable values inline as virtual text while using nvim-dap. It integrates with nvim-treesitter to intelligently locate variable definitions and references, making debugging more visual and efficient.
The plugin follows a minimalistic approach, enhancing the debugging workflow without cluttering the interface, and leverages existing Neovim ecosystems like nvim-treesitter for intelligent parsing.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Shows variable values directly in the code as virtual text, reducing context switching during debugging. Evidence from README: images and setup with virt_text_pos options.
Highlights variables that have changed since the last debug step with customizable colors. README specifies hlgroup NvimDapVirtualTextChanged and config highlight_changed_variables.
Works with any language supported by nvim-treesitter's locals.scm queries, including C/C++, Python, Rust, Go, and Java. README lists these languages and shows examples.
Offers numerous configuration options for virtual text position, formatting, and behavior, such as virt_text_pos, display_callback, and commented mode. README provides a detailed setup example.
For Neovim versions below 0.9, nvim-treesitter is a hard dependency, and even above, it requires parsers and locals.scm queries, adding setup overhead and potential compatibility issues.
Features like all_frames and virt_lines are marked as experimental, with limited reliability—e.g., all_frames only works for debugpy in some cases, as noted in the README.
The clear_on_continue option can cause flickering when stepping, as mentioned in the README, which might disrupt the debugging experience and visual clarity.