2.6 KiB
Migrating from ruff-lsp
While ruff server supports the same feature set as ruff-lsp, migrating to
ruff server may require changes to your Ruff or language server configuration.
!!! note
The VS Code extension settings include documentation to indicate which
settings are supported by ruff server. As such, this migration guide is primarily targeted at editors that lack
explicit documentation for ruff server settings, such as Helix or Neovim.
Unsupported Settings
Several ruff-lsp settings are not supported by ruff server. These are, as follows:
format.argsignoreStandardLibraryinterpreterlint.argslint.runpath
!!! note
Some of these settings, like interpreter and path, are still accepted by the VS Code
extension. path, in particular, can be used to specify a dedicated binary to use when
initializing ruff server. But the language server itself will no longer accept such settings.
New Settings
ruff server introduces several new settings that ruff-lsp does not have. These are, as follows:
configurationconfigurationPreferenceexcludeformat.previewlineLengthlint.selectlint.extendSelectlint.ignorelint.preview
Several of these new settings are replacements for the now-unsupported format.args and lint.args. For example, if
you've been passing --select=<RULES> to lint.args, you can migrate to the new server by using lint.select with a
value of ["<RULES>"].
Examples
Let's say you have these settings in VS Code:
{
"ruff.lint.args": "--select=E,F --line-length 80 --config ~/.config/custom_ruff_config.toml"
}
After enabling the native server, you can migrate your settings like so:
{
"ruff.configuration": "~/.config/custom_ruff_config.toml",
"ruff.lineLength": 80,
"ruff.lint.select": ["E", "F"]
}
Similarly, let's say you have these settings in Helix:
[language-server.ruff.config.lint]
args = "--select=E,F --line-length 80 --config ~/.config/custom_ruff_config.toml"
These can be migrated like so:
[language-server.ruff.config]
configuration = "~/.config/custom_ruff_config.toml"
lineLength = 80
[language-server.ruff.config.lint]
select = ["E", "F"]