refactoring.nvim VS nvim-dap-python

Compare refactoring.nvim vs nvim-dap-python and see what are their differences.

refactoring.nvim

The Refactoring library based off the Refactoring book by Martin Fowler (by ThePrimeagen)

nvim-dap-python

An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes. (by mfussenegger)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
refactoring.nvim nvim-dap-python
37 19
2,475 447
- -
8.8 4.7
about 2 months ago 22 days ago
Lua Lua
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

refactoring.nvim

Posts with mentions or reviews of refactoring.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-11.
  • My 2024 PDE: NeoVim
    2 projects | dev.to | 11 Jan 2024
    Treesitter is a syntax parser that'll build a tree-like structure to enable anything from excellent syntax highlighting through to complex refactoring. There are so many creative ways you can use Treesitter, from jumping around text objects to commenting sections of code, it's a must-have in my books.
  • Refactoring tools
    2 projects | /r/neovim | 13 Jul 2023
    Is there any refactoring plugins for Neovim besides https://github.com/ThePrimeagen/refactoring.nvim?
  • change arguments of a function
    1 project | /r/neovim | 25 Jun 2023
    refactoring.nvim is, that I know of, the closest we have to IDE-like refactoring features such as this, but does not have this feature. It would make C development much nicer imo. Perhaps a feature request there may gain traction.
  • What does it mean if TSNode:has_changes() returns true? (implementation of command-preview for refactoring.nvim)
    1 project | /r/neovim | 30 May 2023
    I'm trying to make a naive implementation of command-preview for refactoring.nvim. Currently, my naive implementation is working (since the changes made to a buffer for previewing are discarded by neovim, I'm executing the plugin regularly in order to preview the changes and when the user submits the command to make the changes).
  • First PR using NeoVim, but need help moving forward
    3 projects | /r/neovim | 30 May 2023
    refactoring.nvim and null-ls.nvim may help
  • In neovim ,how to do refactoring python code?
    5 projects | /r/neovim | 20 Apr 2023
    refactoring.nvim is one option. Unfortunately what powers VSCode is the proprietary PyLance and AFAIK there is no way to "Move symbol to file (method will be moved) [and have imports renamed subsequently]".
  • Discussion: what functionality is Vim missing?
    4 projects | /r/vim | 28 Feb 2023
  • New Plugin: ruby toolkit
    2 projects | /r/neovim | 20 Feb 2023
    Just a heads up, I added a lot of Ruby support in ThePrimeagen's Refactoring.nvim plugin some time ago. Covers a lot of what you've created and has support for lots of other languages too
  • Treesitter query language
    1 project | /r/neovim | 3 Feb 2023
    It's a pain to learn. I used the online playground and also read a lot of the queries from popular plugins. I contributed Ruby support to refactoring.nvim which helped me learn a tonne too
  • neovim-related: Are there good refactor plugin for elixir?
    2 projects | /r/elixir | 22 Dec 2022
    You might be able to take the ruby one and make an elixir one. It uses tree-sitter queries which you would need to align up with the elixir, but the syntax is kinda close. See https://github.com/ThePrimeagen/refactoring.nvim/blob/master/lua/refactoring/treesitter/langs/ruby.lua

nvim-dap-python

Posts with mentions or reviews of nvim-dap-python. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-06.
  • struggling to setup python with nvim dap - module not found on import - need to setup dap root?
    3 projects | /r/neovim | 6 Jul 2023
    I think nvim-dap doesn't (always?) use neovim current working directory as root, which can cause issues like yours. I'd recommend using https://github.com/mfussenegger/nvim-dap-python along with a local .nvim.lua (:h 'exrc') with the following config:
  • How can I debug Python code in neovim!
    3 projects | /r/vim | 1 Jul 2023
    You could use nvim-dap with nvim-dap-python.
  • How to debug python code in neovim
    2 projects | /r/neovim | 1 Jul 2023
    I'd suggest starting with a Neovim distro that makes things work for you and as you get familiar you can transition to a more custom configuration as you see fit. If you want to do it by yourself then the most popular plugin for debugging in Neovim is nvim-dap and there is also an extension for Python to give you a more ready to go config instead of doing it yourself. You should read the docs of those 2 to see how you should customize accordingly your configuration.
  • Need help setting working directory of my debugger for python in neovim
    4 projects | /r/neovim | 29 May 2023
    I figured out a solution btw. I got this plugin and created a .vscode/launch.json file for my project and set the cwd in there
  • Does anyone ever use Neovim to debug PyTorch?
    3 projects | /r/neovim | 17 May 2023
    lmao. I'm asking this because I'm trying to do this. Just want to know whether this is a good idea. I have some basic setup using nvim-dap-python.
  • What has been people's experience with nvim-dap? Or integrating the debugging experience within Neovim itself?
    5 projects | /r/neovim | 23 Apr 2023
    -- Debug adapter plug-in. Debug anything in Neovim { "mfussenegger/nvim-dap", config = function() vim.keymap.set("n", "d", ":DapContinue") vim.keymap.set("n", "dl", ":DapStepInto") vim.keymap.set("n", "dj", ":DapStepOver") vim.keymap.set("n", "dh", ":DapStepOut") vim.keymap.set("n", "dz", ":ZoomWinTabToggle") vim.keymap.set( "n", "dgt", -- dg as in debu[g] [t]race ":lua require('dap').set_log_level('TRACE')" ) vim.keymap.set( "n", "dge", -- dg as in debu[g] [e]dit function() vim.cmd(":edit " .. vim.fn.stdpath('cache') .. "/dap.log") end ) vim.keymap.set("n", "", ":DapStepOut") vim.keymap.set("n", "", ":DapStepOver") vim.keymap.set("n", "", ":DapStepInto") vim.keymap.set( "n", "d-", function() require("dap").restart() end ) vim.keymap.set( "n", "d_", function() require("dap").terminate() require("dapui").close() end ) end, lazy = true, }, -- A default "GUI" front-end for nvim-dap { "rcarriga/nvim-dap-ui", config = function() require("dapui").setup() -- Note: Added this dd duplicate of because somehow the -- mapping keeps getting reset each time I restart nvim-dap. Annoying but whatever. -- vim.keymap.set( "n", "dd", function() require("dapui").open() -- Requires nvim-dap-ui vim.cmd[[DapContinue]] -- Important: This will lazy-load nvim-dap end ) end, dependencies = { "mfussenegger/nvim-dap", "mfussenegger/nvim-dap-python", -- Optional adapter for Python }, }, -- TODO: Make sure that debugpy is installed. Otherwise, disable -- Reference: https://github.com/mfussenegger/nvim-dap-python#installation -- { "mfussenegger/nvim-dap-python", config = function() require("dap-python").setup("/path/to/python/here") -- XXX: Replace this with your preferred Python, if wanted -- An example configuration to launch any Python file, via Houdini -- table.insert( -- require("dap").configurations.python, -- { -- type = "python", -- request = "launch", -- name = "Launch Via hython", -- program = "${file}", -- python = "/opt/hfs19.5.569/bin/hython" -- -- ... more options, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings -- } -- ) end, dependencies = { "mfussenegger/nvim-dap", "nvim-treesitter/nvim-treesitter", }, }, -- Remember nvim-dap breakpoints between sessions, ``:PBToggleBreakpoint`` { "Weissle/persistent-breakpoints.nvim", config = function() require("persistent-breakpoints").setup{ load_breakpoints_event = { "BufReadPost" } } vim.keymap.set("n", "db", ":PBToggleBreakpoint") end, }
  • Supercharge Python Development with this Plugin
    2 projects | /r/neovim | 18 Apr 2023
    Oh yes.. I think https://github.com/mfussenegger/nvim-dap-python is what you are looking for. The configuration might not be as simple as the VS code equivalent but seems to serve the same purpose?
  • Finding the right Virtual Envs with Pyright and DAP.
    1 project | /r/neovim | 30 Jan 2023
    But how do specify the same virtual env for Debugging with dap? nvim-dap-python is looking for the env variables VIRTUAL_ENV and CONDA_PREFIX. But that means i cannot open multiple python projects in the same nvim instance.
  • What IDE do you think is best for Python Programming? I currently am using Visual Studio Code but am open to test others...
    9 projects | /r/Python | 17 Dec 2022
    Yes, you can use nvim-dap-ui on top of nvim-dap or just nvim-dap-python (note that I haven‘t used the latter). Both options are able to parse .vscode/launch.json debug configs.
  • How to setup neotest with neotest-python and dap?
    3 projects | /r/neovim | 15 Dec 2022
    Have you installed and configured nvim-dap and nvim-dap-python ?

What are some alternatives?

When comparing refactoring.nvim and nvim-dap-python you can also consider the following projects:

nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.

nvim-dap - Debug Adapter Protocol client implementation for Neovim

react-extract.nvim - Neovim plugin for extracting jsx into React component

mason-lspconfig.nvim - Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim.

rust.vim - Vim configuration for Rust.

vim-test - Run your tests at the speed of thought

pyright - Static Type Checker for Python

packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

nvim-treesitter-refactor - Refactor module for nvim-treesitter

vim-ultest - The ultimate testing plugin for (Neo)Vim

nvim-dap-ruby

trouble.nvim - 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.