-
Notifications
You must be signed in to change notification settings - Fork 165
How to use Rope in my IDE or Text editor?
Audience: all rope users
This page documents all known first and third party projects that supports rope, links to documentation on how to use rope in that environments, what features are supported, and whether or not the project is still maintained.
Use this page to help you decide the best option for you to integrate rope to your development environment.
LSP is a cross-editor interface to add tooling support to IDE/text editors. Rope can be used with pylsp-rope with any text editors or IDE that supports LSP.
-
python-lsp-server (pylsp): a maintained, community fork of
python-language-server
. Out of the box,pylsp
supports basic renaming and code completion using Rope; but you can also install pylsp-rope which is a first-party plugin for python-lsp-server to extend the built-in refactoring capabilities of Rope in pylsp. pylsp-rope is in early development, it does not yet support all features of Rope and do expect some bugs. If you're new to Rope, we recommend Rope using pylsp-rope as a starting point before delving into native integrations.- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: See https://github.com/python-rope/rope/wiki/Rope-in-Vim-or-Neovim
-
python-language-server (pyls): Deprecated and not recommended. You should switch to
python-lsp-server
if you're still usingpyls
.
-
Using LSP. Also see Language Server Protocol section.
-
ropevim: reference implementation, currently the most feature complete rope plugin that can be used in vim. New users are recommended to use pylsp-rope with your preferred Emacs LSP plugin.
- Set up guide
- Usage guide: TODO
- Supported features matrix
-
python-mode: implements most of rope functionality. The UI is a bit more polished than ropevim and it already implements most of rope, but it's missing a few of the more advanced refactoring options.
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
ropify: this CLI wrapper for rope's core functionality also provides ready-to-use bindings for Neovim, allowing the user to move and autoimport symbols.
- Set up guide
- Usage guide: TODO
- Supported features matrix
-
Using LSP. Also see Language Server Protocol section.
- via eglot
- example config for python-lsp-server (discuss): this doesn't include any specific configuration for rope or pylsp-rope
- via lsp-mode (After installing pylsp-rope, you can call the plugin functions by running
M-x:
lsp-execute-code-action
in emacs. It will show any plugin code actions available at the current cursor position. You can also add this emacs package to your config for separate commands for each pylsp-rope code action.
- via eglot
-
ropemacs: reference implementation, currently the most feature complete rope plugin that can be used in emacs. New users are recommended to use pylsp-rope with your preferred Vim LSP plugin.
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
elpy: ...
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
traad: ...
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
TODO: help needed by regular users of this IDE/editor to expand on this section
-
vscode-python: vscode-python has recently removed its native rope integration in favor of LSP integration (TODO: add last supported vscode-python version that still supports native rope)
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
If you're a VSCode user and you know how to set up python-lsp-server with Rope in VSCode/VSCodium, please help update this documentation
TODO: help needed by regular users of this IDE/editor to expand on this section
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
TODO: help needed by regular users of this IDE/editor to expand on this section
TODO: help needed by regular users of this IDE/editor to expand on this section
TODO: help needed by regular users of this IDE/editor to expand on this section
-
kak-rope
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
TODO: help needed by regular users of this IDE/editor to expand on this section
-
lapce-python
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
TODO: help needed by regular users of this IDE/editor to expand on this section
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: TODO
-
- Set up guide: TODO
- Usage guide: TODO
- Supported features matrix: Can only move modules
The Atom editor itself is already unmaintained and out of life, and the plug-in website is likely to break sometime soon as well. You probably shouldn't continue using this editor.
-
ide-python: this wraps over the old Palantir's
pyls
, it may be possible to switch over the LSP server topylsp
, but it seems to have been last updated beforepylsp-rope
, so it's unknown if it exposes any pylsp CodeAction.
- RopeMate: This plugin seems no longer maintained.
A standalone IDE originally developed to showcase the use of Rope. This project is no longer maintained and is not recommended for use.
If your favorite IDE/text editor or integration is not listed in this page, feel free to add them to this page. Also if you believe some information here is is missing or incorrect, you're welcome to edit this page.