A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/python-rope/pylsp-rope below:

python-rope/pylsp-rope: Extended refactoring capabilities for python-lsp-server using Rope

Extended refactoring capabilities for Python LSP Server using Rope.

This is a plugin for Python LSP Server, so you also need to have it installed.

python-lsp-server already has basic built-in support for using Rope, but it's currently limited to just renaming and completion. Installing this plugin adds more refactoring functionality to python-lsp-server.

To use this plugin, you need to install this plugin in the same virtualenv as python-lsp-server itself.

Then run pylsp as usual, the plugin will be auto-discovered by python-lsp-server if you've installed it to the right environment. On Vim, refer to Rope in Vim or Neovim. For other editors, refer to your IDE/text editor's documentation on how to setup a language server.

This plugin adds the following features to python-lsp-server:

Rename:

Code Action:

Refer to Rope documentation for more details on how these refactoring works.

When Rename is triggered, rename the symbol under the cursor. If the symbol under the cursor points to a module/package, it will move that module/package files.

Variants:

When CodeAction is triggered and the cursor is on any block of code, extract that expression into a method. Optionally, similar statements can also be extracted.

Variants:

When CodeAction is triggered and the cursor is on a expression, extract that expression into a variable. Optionally, similar statements can also be extracted.

When CodeAction is triggered and the cursor is on a resolvable Python variable, replace all calls to that method with the method body.

When CodeAction is triggered and the cursor is on the function name of a def statement, try to replace code whose AST matches the selected function with a call to the function.

When CodeAction is triggered and the cursor is on the function name of a def statement, create a callable class to replace that method. You may want to inline the method afterwards to remove the indirection.

Convert local variable to field

When CodeAction is triggered wand the cursor is on a local variable inside a method, convert that local variable to an attribute.

Trigger CodeAction anywhere in a Python file to organize imports.

When CodeAction is triggered and the cursor is selecting a Python variable or attribute, make that variable/attribute a parameter.

Variants:

When CodeAction is triggered and the cursor is on an undefined Python variable, generate an empty variable/function/class/module/package for that name.

You can enable rename support using pylsp-rope with workspace config key pylsp.plugins.pylsp_rope.rename.

Note that this differs from the config key pylsp.plugins.rope_rename.enabled that is used for the rope rename implementation using the python-lsp-rope's builtin rope_rename plugin. To avoid confusion, avoid enabling more than one python-lsp-server rename plugin. In other words, you should set both pylsp.plugins.rope_rename.enabled = false and pylsp.plugins.jedi_rename.enabled = false when pylsp-rope rename is enabled.

Support for working on unsaved document is currently experimental, but it should work.

This plugin is in early development, so expect some bugs. Please report in Github issue tracker if you had any issues with the plugin.

See CONTRIBUTING.md.

This package was created with Cookiecutter from python-lsp/cookiecutter-pylsp-plugin project template.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4