- 
                Notifications
    You must be signed in to change notification settings 
- Fork 91
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 > Settingsfrom 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