Skip to content

How to use Rope in my IDE or Text editor?

Tassilo Neubauer edited this page May 7, 2024 · 34 revisions

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.

Language Server Protocol (LSP)

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.

  • python-language-server (pyls): Deprecated and not recommended. You should switch to python-lsp-server if you're still using pyls.

Vim

Emacs

  • Using LSP. Also see Language Server Protocol section.

    • via eglot
    • 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.
  • 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

VSCode/VSCodium

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

Sublime text

TODO: help needed by regular users of this IDE/editor to expand on this section

  • LSP-pylsp

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO
  • PyRefactor

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO
  • SublimeRope

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO
  • SublimePythonIDE

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO

Spyder

TODO: help needed by regular users of this IDE/editor to expand on this section

Eric

TODO: help needed by regular users of this IDE/editor to expand on this section

kakoune

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

Lapce

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

CLI/Shell

TODO: help needed by regular users of this IDE/editor to expand on this section

  • roper

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO
  • ropecli

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO
  • asunder

    • Set up guide: TODO
    • Usage guide: TODO
    • Supported features matrix: TODO

Atom

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 to pylsp, but it seems to have been last updated before pylsp-rope, so it's unknown if it exposes any pylsp CodeAction.

TextMate

  • RopeMate: This plugin seems no longer maintained.

ropeide

A standalone IDE originally developed to showcase the use of Rope. This project is no longer maintained and is not recommended for use.

How to help?

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.

See also