Vdebug : Multi-language DBGP debugger client (PHP, Python, Perl, Ruby, etc.)
| script karma
Downloaded by 351
Comments, bugs, improvements
script versions (upload new version)
|Vdebug is a new, fast, powerful debugger client for Vim. It's multi-language, and has been tested with PHP, Python, Ruby, NodeJS and Tcl. It interfaces with any debugger that faithfully uses the DBGP protocol, such as Xdebug for PHP. There are step-by-step instructions for setting up debugging with all of the aforementioned languages in the Vim help file that comes with Vdebug.
It builds on the experience gained through the legacy of the Xdebug Vim script originally created by Seung Woo Shin and extended by so many others, but it's a total rebuild to allow for a nicer interface and support of new features.
Plus, I find it a LOT faster. Why not try it for yourself?
It's written in Python, and has an object-oriented interface that is easy to extend and can even be used from the command-line. It even has unit tests covering some of the more critical parts of the code.
- Multi-language support
- Set and remove breakpoints (line, conditional, exception, return and call)
- Watch window showing all variables, and allowing you to switch context (to globals, etc)
- Watch window variables shown as a tree, and drill down into child elements
- Run "eval" commands on code snippets and see the output as a tree
- Run to cursor
- Support for debugging scripts on a remote machine
- The usual commands: run, step over, step in, step out, stop and detach
- IDE key support
- Complete key re-mapping possible
- Lots of configuration options
- Log to file or Vim window
How to use
There is very extensive help provided in the form of a Vim help file. This goes through absolutely everything, from installation to configuration, setting up debuggers for various languages, explanation of the interface, options, remote server debugging and more.
To get this help, type:
after installing the plugin.
- Vim compiled with Python 2.6+ support, tabs and signs
- A programming language that has a DBGP debugger, e.g. PHP, Python, Ruby, Perl, Tcl... (set-up included in the Vim help)
Clone or download a tarball of the plugin and move its content in your ~/.vim/ directory.
Your ~/.vim/plugins/ directory should now contain vdebug.vim and a directory called "python".
Using git and Pathogen
Clone https://github.com/joonty/vdebug.git in your ~/.vim/bundle directory
Add this to your ~/.vimrc file:
Then, from the command line, run:
vim +BundleInstall +qall
Click on the package to download.
ip used for rating: 184.108.40.206
* Set debugger features with g:vdebug_features dictionary (issue #55)
* Allow use of '~' in log files (issue #53)
* Print error message if trying to start debugger with unsaved buffers (issue #57)
* Don't allow visual eval outside of debugging session (issue #52)
* Show updated key mappings in status window (issue #51)
* Fix problem with stuck breakpoints after debugging (issue #48, #43)
* Swap back to original tab after debugging session closes (issue #23)
* Don't allow breakpoints to be set on empty lines (issue #27)
* Add :VdebugOpt command for easy setting and getting of options (issue #38)
* Small fixes for documentation (thanks: https://github.com/grota, #31)
* Parse continuous mode option as an integer (thanks: https://github.com/grota, #32)
* Stop Xdebug hanging when using the detach command (issue #33)
* Don't use recursive Vim mapping (issue #34)
* Track movement of line breaks with Vim signs (issue #35)
* Add "default" keyword to highlights, to allow custom colours (issue #36)
* Fix check for multibyte support (issue #37)
* Fix deprecation warning in Python 2.6, catching string exceptions (issue #39)
* Stop source code panel opening in incorrect position (issue #40)
* Filepath problems with Windows version
* Packaged tests as an easy-to-run suite
* Set up on Travis CI
* Re-uploaded archive with gzip compression
|| * Support and compatibility fixes for debugging Tcl, plus help file updates
* Non-multibyte Vim installations now use ASCII watch window marker characters as a fallback (thanks: https://github.com/satiani, #21)
* Watch window marker characters are fully customizable
* Satiani added multiple file path mappings, for remote debugging (thanks: https://github.com/satiani, #20)
* Vdebug re-maps previous key mappings after shutting down (issue #16)
* Added 'watch_window_style' option that allows for a compact or (default) expanded watch window (thanks: https://github.com/georgjaehnig, #13)
* Simple continuous mode added, where vdebug starts listening after a connection closes, to allow for debugging to start again immediately (issue #19)
* LOTS of bug fixes - see HISTORY file for more
|| * Support for nodejs debugging using the komodo-debug package in NPM
* Keyboard interrupt while Vim is waiting for a connection (thanks: http://github.com/artnez, #6)
* Fixed overwriting dir function with badly named variable (thanks: http://github.com/csomme, #8)
* Function keys for debugger are only mapped when the session starts, and are unmapped when it's closed (issue #1)
* Removed the help tags file from the git repo (issue #10)
||Fix for Windows file paths; close and open tree nodes on watch window; evaluate variable under cursor with <F12>.