-
Notifications
You must be signed in to change notification settings - Fork 70
Sublime
If this is your first time using Sourcery you'll need to set up a Sourcery account. You can create an account with your GitHub account, Google account, or your email address.
- Install the sourcery-cli pypi package
pip install --user sourcery-cli
. Note down the full command path with
which sourcery
. - Open the command palette and run
Package Control: Install Package
, then selectLSP
. - Open
Preferences > Package Settings > LSP > Settings
from the menu and add the following settings:
{
"clients": {
"sourcery": {
"command": [
"<Command to run Sourcery>", // Update this
"lsp"
],
"enabled": true,
"languageId": "python",
"scopes": ["source.python"],
"syntaxes": [
"Packages/Python/Python.sublime-syntax",
"Packages/MagicPython/grammars/MagicPython.tmLanguage",
"Packages/Djaneiro/Syntaxes/Python Django.tmLanguage",
],
"initializationOptions": {
"token": "<Your token here>", // Update this
"extension_version": "sublime lsp",
"editor_version": "sublime"
},
"settings": {
"sourcery": {
"metricsEnabled": true
}
}
}
}
}
Sourcery will run in the background whenever you're working on a Python file. To show all Sourcery suggestions run LSP: Toggle Diagnostics Panel
from the command palette.
Use F4/shift+F4
to jump to next/previous suggestion.
Hover over the underlined line to get an explanation of the change along with a diff of the proposed changes to your code.
To accept the suggestion press super+.
and select the option to accept the change.
To accept the suggestion press super+.
and select the option to accept the change.
We know there might be files or paths you don't want Sourcery to refactor - especially things like third party libraries. If you want Sourcery to ignore these you can add a file or a path to the ignore section in the .sourcery.yaml
file in your project directory like this:
```
ignore:
- data/*
- .venv/*
- '*_test.py' # Note that any strings beginning with * must be quoted
```
Sourcery gives every one of your functions a quality score on 4 different metrics:
- Complexity
- Method Length
- Working Memory
- Overall Quality
To see the metrics for any function, simply hover your mouse of the line defining the function and the Sourcery metrics will pop up. Each metric will have a numeric score, along with a quick qualitative guide ranging from bad to excellent.
Sourcery will also automatically flag functions with too low of an overall quality score. By default this is set for functions with a quality score under 25%, but you [can configure this](Sourcery Configuration).
Sometimes you might see a Sourcery suggestion you don't want to accept. You can ignore these suggestions by pressing super+.
and select the option to skip the change.
You can also configure Sourcery to never suggest a particular refactoring. For details see the Sourcery Configuration page.
There are more advanced ways you can improve your code with a Sourcery Pro or Sourcery Team subscription:
Sourcery will automatically detect opportunities for repeated or nearly repeated sections of code within a function to be extracted out into their own methods. When these refactorings are suggested the new methods will be given a generic name based on the function it was extracted from and you can easily rename it.
Please visit our newer docs at https://docs.sourcery.ai