Skip to content

How to use Rope in my IDE or Text editor?

Lie Ryan edited this page Nov 17, 2022 · 35 revisions

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 now 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): Not recommended. You should switch to python-lsp-server if you're still using pyls.

Vim

Emacs

  • Using LSP.

  • ropemacs: reference implementation, currently the most feature complete rope plugin that can be used in emacs.

    • 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

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

Sublime text

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

  • PyRefactor
    • 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

ropeide

A standalone IDE specifically 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.