astral-sh / ruff-vscode

A Visual Studio Code extension with support for the Ruff linter.
Other
956 stars 45 forks source link

Cannot get Ruff VSCode to work in Python 3.12 devcontainer with Poetry #404

Closed Wesztman closed 5 months ago

Wesztman commented 5 months ago

Hi! First of all, thanks for all your work with Ruff, awsome tool 😊

I have some serious issues with the extension that I cannot get to work, it feels like I tried everything 😅

I get NO

I however get all this working if I run ruff from the command line and point to the file, using the same executable that VSCode seems to use..

I have the following config in my devcontainer.json

image

This is my "test" code, unsorted imports and an extra new line in dict, I would expect to get squiggles that something is wrong with the imports and then I would expect the sorting and formatting to be fixed when pressing ctrl+S.

Screenshot 2024-02-06 093616

Instead I get the following log, here you can see the startup of the extensions, one ctrl+S and then also tries to use the command palette.

2024-02-06 08:32:59.245 [info] Name: Ruff
2024-02-06 08:32:59.245 [info] Module: ruff
2024-02-06 08:32:59.245 [info] Python extension loading
2024-02-06 08:32:59.245 [info] Waiting for interpreter from python extension.
2024-02-06 08:32:59.245 [info] Python extension loaded
2024-02-06 08:32:59.245 [info] Server run command: /workspaces/project/.venv/bin/python /home/vscode/.vscode-server/extensions/charliermarsh.ruff-2024.10.0-linux-x64/bundled/tool/server.py
2024-02-06 08:32:59.245 [info] Server: Start requested.
2024-02-06 08:32:59.963 [info] 2024-02-06 08:32:59,962 INFO Starting IO server

2024-02-06 08:33:00.018 [info] Workspace settings: [
    {
        "cwd": "/workspaces/project",
        "workspace": "file:///workspaces/project",
        "path": [],
        "ignoreStandardLibrary": true,
        "interpreter": [
            "/workspaces/project/.venv/bin/python"
        ],
        "importStrategy": "fromEnvironment",
        "codeAction": {
            "fixViolation": {
                "enable": true
            },
            "disableRuleComment": {
                "enable": true
            }
        },
        "lint": {
            "enable": true,
            "run": "onType",
            "args": []
        },
        "format": {
            "args": []
        },
        "enable": true,
        "organizeImports": true,
        "fixAll": true,
        "showNotifications": "off"
    }
]
2024-02-06 08:33:00.018 [info] Global settings: {
    "cwd": "/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937",
    "workspace": "/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937",
    "path": [],
    "ignoreStandardLibrary": true,
    "interpreter": [],
    "importStrategy": "fromEnvironment",
    "codeAction": {
        "fixViolation": {
            "enable": true
        },
        "disableRuleComment": {
            "enable": true
        }
    },
    "lint": {
        "enable": true,
        "run": "onType",
        "args": []
    },
    "format": {
        "args": []
    },
    "enable": true,
    "organizeImports": true,
    "fixAll": true,
    "showNotifications": "off"
}
2024-02-06 08:33:00.031 [info] [Trace - 8:33:00 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:00.031 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:00.034 [info] [Trace - 8:33:00 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:00.034 [info] Inferred version 0.2.0 for: /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:00.034 [info] [Trace - 8:33:00 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:00.034 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:00.034 [info] [Trace - 8:33:00 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:00.034 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:33:00.040 [info] [Trace - 8:33:00 AM] Received notification 'textDocument/publishDiagnostics'.
2024-02-06 08:33:01.568 [info] [Trace - 8:33:01 AM] Sending request 'textDocument/codeAction - (1)'.
2024-02-06 08:33:01.578 [info] [Trace - 8:33:01 AM] Received response 'textDocument/codeAction - (1)' in 10ms.
2024-02-06 08:33:01.908 [info] [Trace - 8:33:01 AM] Sending request 'textDocument/codeAction - (2)'.
2024-02-06 08:33:01.933 [info] [Trace - 8:33:01 AM] Received response 'textDocument/codeAction - (2)' in 25ms.
2024-02-06 08:33:28.895 [info] [Trace - 8:33:28 AM] Sending request 'textDocument/codeAction - (3)'.
2024-02-06 08:33:28.925 [info] [Trace - 8:33:28 AM] Received response 'textDocument/codeAction - (3)' in 29ms.
2024-02-06 08:33:29.704 [info] [Trace - 8:33:29 AM] Sending request 'textDocument/hover - (4)'.
2024-02-06 08:33:29.727 [info] [Trace - 8:33:29 AM] Received response 'textDocument/hover - (4)' in 24ms.
2024-02-06 08:33:31.758 [info] [Trace - 8:33:31 AM] Sending request 'textDocument/formatting - (5)'.
2024-02-06 08:33:31.762 [info] [Trace - 8:33:31 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:31.763 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:31.763 [info] [Trace - 8:33:31 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:31.763 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:31.763 [info] [Trace - 8:33:31 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:31.763 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['format', '--force-exclude', '--quiet', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:33:31.765 [info] [Trace - 8:33:31 AM] Received response 'textDocument/formatting - (5)' in 7ms.
2024-02-06 08:33:31.849 [info] [Trace - 8:33:31 AM] Sending notification 'textDocument/didSave'.
2024-02-06 08:33:31.852 [info] [Trace - 8:33:31 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:31.852 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:31.852 [info] [Trace - 8:33:31 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:31.852 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:33:31.852 [info] [Trace - 8:33:31 AM] Received notification 'window/logMessage'.
2024-02-06 08:33:31.852 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:33:31.856 [info] [Trace - 8:33:31 AM] Received notification 'textDocument/publishDiagnostics'.
2024-02-06 08:34:05.173 [info] [Trace - 8:34:05 AM] Sending request 'textDocument/codeAction - (6)'.
2024-02-06 08:34:05.178 [info] [Trace - 8:34:05 AM] Received response 'textDocument/codeAction - (6)' in 5ms.
2024-02-06 08:34:05.694 [info] [Trace - 8:34:05 AM] Sending request 'textDocument/hover - (7)'.
2024-02-06 08:34:05.696 [info] [Trace - 8:34:05 AM] Received response 'textDocument/hover - (7)' in 2ms.
2024-02-06 08:34:06.201 [info] [Trace - 8:34:06 AM] Sending request 'textDocument/hover - (8)'.
2024-02-06 08:34:06.203 [info] [Trace - 8:34:06 AM] Received response 'textDocument/hover - (8)' in 2ms.
2024-02-06 08:34:08.064 [info] [Trace - 8:34:08 AM] Sending request 'textDocument/hover - (9)'.
2024-02-06 08:34:08.066 [info] [Trace - 8:34:08 AM] Received response 'textDocument/hover - (9)' in 2ms.
2024-02-06 08:34:08.390 [info] [Trace - 8:34:08 AM] Sending request 'textDocument/hover - (10)'.
2024-02-06 08:34:08.392 [info] [Trace - 8:34:08 AM] Received response 'textDocument/hover - (10)' in 2ms.
2024-02-06 08:34:08.949 [info] [Trace - 8:34:08 AM] Sending request 'textDocument/hover - (11)'.
2024-02-06 08:34:08.951 [info] [Trace - 8:34:08 AM] Received response 'textDocument/hover - (11)' in 2ms.
2024-02-06 08:34:11.132 [info] [Trace - 8:34:11 AM] Sending request 'textDocument/hover - (12)'.
2024-02-06 08:34:11.135 [info] [Trace - 8:34:11 AM] Received response 'textDocument/hover - (12)' in 3ms.
2024-02-06 08:34:18.156 [info] [Trace - 8:34:18 AM] Sending request 'textDocument/codeAction - (13)'.
2024-02-06 08:34:18.159 [info] [Trace - 8:34:18 AM] Received response 'textDocument/codeAction - (13)' in 3ms.
2024-02-06 08:34:22.184 [info] [Trace - 8:34:22 AM] Sending request 'workspace/executeCommand - (14)'.
2024-02-06 08:34:22.188 [info] [Trace - 8:34:22 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:22.188 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:34:22.188 [info] [Trace - 8:34:22 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:22.188 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:34:22.188 [info] [Trace - 8:34:22 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:22.188 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--fix', '--select', 'I001', '--select', 'I002', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:34:22.192 [info] [Trace - 8:34:22 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:22.192 [info] []
2024-02-06 08:34:22.195 [info] [Trace - 8:34:22 AM] Received request 'workspace/applyEdit - (2076246a-99ee-4897-b711-266263353065)'.
2024-02-06 08:34:22.196 [info] [Trace - 8:34:22 AM] Received response 'workspace/executeCommand - (14)' in 11ms.
2024-02-06 08:34:22.203 [info] [Trace - 8:34:22 AM] Sending response 'workspace/applyEdit - (2076246a-99ee-4897-b711-266263353065)'. Processing request took 9ms
2024-02-06 08:34:30.940 [info] [Trace - 8:34:30 AM] Sending request 'textDocument/codeAction - (15)'.
2024-02-06 08:34:30.966 [info] [Trace - 8:34:30 AM] Received response 'textDocument/codeAction - (15)' in 26ms.
2024-02-06 08:34:34.865 [info] [Trace - 8:34:34 AM] Sending request 'workspace/executeCommand - (16)'.
2024-02-06 08:34:34.869 [info] [Trace - 8:34:34 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:34.869 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:34:34.869 [info] [Trace - 8:34:34 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:34.869 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:34:34.870 [info] [Trace - 8:34:34 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:34.870 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--fix', '--select', 'I001', '--select', 'I002', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:34:34.879 [info] [Trace - 8:34:34 AM] Received notification 'window/logMessage'.
2024-02-06 08:34:34.879 [info] []
2024-02-06 08:34:34.879 [info] [Trace - 8:34:34 AM] Received request 'workspace/applyEdit - (af3697b6-d174-4e35-8b22-90da2cb95ca3)'.
2024-02-06 08:34:34.880 [info] [Trace - 8:34:34 AM] Received response 'workspace/executeCommand - (16)' in 15ms.
2024-02-06 08:34:34.966 [info] [Trace - 8:34:34 AM] Sending response 'workspace/applyEdit - (af3697b6-d174-4e35-8b22-90da2cb95ca3)'. Processing request took 87ms
2024-02-06 08:34:47.453 [info] [Trace - 8:34:47 AM] Sending request 'textDocument/codeAction - (17)'.
2024-02-06 08:34:47.455 [info] [Trace - 8:34:47 AM] Received response 'textDocument/codeAction - (17)' in 3ms.
2024-02-06 08:35:02.123 [info] [Trace - 8:35:02 AM] Sending notification 'textDocument/didOpen'.
2024-02-06 08:35:02.125 [info] [Trace - 8:35:02 AM] Sending request 'textDocument/codeAction - (18)'.
2024-02-06 08:35:02.176 [info] [Trace - 8:35:02 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:02.176 [info] [Warn  - 8:35:02 AM] Skipping standard library file: /usr/local/lib/python3.12/multiprocessing/__init__.py
2024-02-06 08:35:02.179 [info] [Trace - 8:35:02 AM] Received notification 'textDocument/publishDiagnostics'.
2024-02-06 08:35:02.184 [info] [Trace - 8:35:02 AM] Received response 'textDocument/codeAction - (18)' in 61ms.
2024-02-06 08:35:02.924 [info] [Trace - 8:35:02 AM] Sending request 'textDocument/codeAction - (19)'.
2024-02-06 08:35:02.926 [info] [Trace - 8:35:02 AM] Received response 'textDocument/codeAction - (19)' in 2ms.
2024-02-06 08:35:07.820 [info] [Trace - 8:35:07 AM] Sending request 'textDocument/codeAction - (20)'.
2024-02-06 08:35:07.823 [info] [Trace - 8:35:07 AM] Received response 'textDocument/codeAction - (20)' in 3ms.
2024-02-06 08:35:08.108 [info] [Trace - 8:35:08 AM] Sending request 'textDocument/codeAction - (21)'.
2024-02-06 08:35:08.135 [info] [Trace - 8:35:08 AM] Received response 'textDocument/codeAction - (21)' in 27ms.
2024-02-06 08:35:11.253 [info] [Trace - 8:35:11 AM] Sending request 'textDocument/codeAction - (22)'.
2024-02-06 08:35:11.255 [info] [Trace - 8:35:11 AM] Received response 'textDocument/codeAction - (22)' in 2ms.
2024-02-06 08:35:21.366 [info] [Trace - 8:35:21 AM] Sending request 'workspace/executeCommand - (23)'.
2024-02-06 08:35:21.368 [info] [Trace - 8:35:21 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:21.368 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:35:21.368 [info] [Trace - 8:35:21 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:21.368 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:35:21.368 [info] [Trace - 8:35:21 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:21.368 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--fix', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:35:21.372 [info] [Trace - 8:35:21 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:21.372 [info] []
2024-02-06 08:35:21.373 [info] [Trace - 8:35:21 AM] Received request 'workspace/applyEdit - (0fa4d0e1-1909-45ea-9222-e3fc108f31f0)'.
2024-02-06 08:35:21.375 [info] [Trace - 8:35:21 AM] Received response 'workspace/executeCommand - (23)' in 9ms.
2024-02-06 08:35:21.429 [info] [Trace - 8:35:21 AM] Sending response 'workspace/applyEdit - (0fa4d0e1-1909-45ea-9222-e3fc108f31f0)'. Processing request took 56ms
2024-02-06 08:35:28.143 [info] [Trace - 8:35:28 AM] Sending request 'textDocument/codeAction - (24)'.
2024-02-06 08:35:28.147 [info] [Trace - 8:35:28 AM] Received response 'textDocument/codeAction - (24)' in 3ms.
2024-02-06 08:35:33.533 [info] [Trace - 8:35:33 AM] Sending request 'workspace/executeCommand - (25)'.
2024-02-06 08:35:33.535 [info] [Trace - 8:35:33 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:33.536 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 08:35:33.536 [info] [Trace - 8:35:33 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:33.536 [info] Found ruff 0.2.0 at /workspaces/project/.venv/bin/ruff
2024-02-06 08:35:33.536 [info] [Trace - 8:35:33 AM] Received notification 'window/logMessage'.
2024-02-06 08:35:33.536 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['format', '--force-exclude', '--quiet', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 08:35:33.540 [info] [Trace - 8:35:33 AM] Received request 'workspace/applyEdit - (da0dcba7-2f80-44ba-8411-507c530a3e24)'.
2024-02-06 08:35:33.540 [info] [Trace - 8:35:33 AM] Received response 'workspace/executeCommand - (25)' in 7ms.
2024-02-06 08:35:33.599 [info] [Trace - 8:35:33 AM] Sending response 'workspace/applyEdit - (da0dcba7-2f80-44ba-8411-507c530a3e24)'. Processing request took 59ms

However if I run the tools from the commandline

Screenshot 2024-02-06 094007

I get perfect results

Screenshot 2024-02-06 094035

I have no config in my pyproject.toml atm.

If you need anything else just tell me 😊

EDIT: Tried to remove explicit Pylance as language server, still the same issue. I have auto save on delay enabled, don't know if that might cause issues.

image

Also tried "explicit" as option for codeActionOnSave, still same problem.

Cheers Carl

Wesztman commented 5 months ago

Here is a verbose log which I run with the following devcontainer.json

Here I start the devcontainer, go into a python file, press ctrl+s, run Ruff: sort import from the command palette, followed by Ruff: format (think that was the order).

Nothing happens to my open python file :(

Log

2024-02-06 12:51:45.508 [info] Name: Ruff
2024-02-06 12:51:45.508 [info] Module: ruff
2024-02-06 12:51:45.508 [info] Python extension loading
2024-02-06 12:51:45.508 [info] Waiting for interpreter from python extension.
2024-02-06 12:51:46.636 [info] Python extension loaded
2024-02-06 12:51:46.718 [info] Server run command: /workspaces/project/.venv/bin/python /home/vscode/.vscode-server/extensions/charliermarsh.ruff-2024.10.0-linux-x64/bundled/tool/server.py
2024-02-06 12:51:46.719 [info] Server: Start requested.
2024-02-06 12:51:46.996 [info] [Trace - 12:51:46 PM] Sending request 'initialize - (0)'.
2024-02-06 12:51:46.996 [info] Params: {
    "processId": 2355,
    "clientInfo": {
        "name": "Visual Studio Code",
        "version": "1.86.0"
    },
    "locale": "en",
    "rootPath": "/workspaces/project",
    "rootUri": "file:///workspaces/project",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional",
                "normalizesLineEndings": true,
                "changeAnnotationSupport": {
                    "groupsOnLabel": true
                }
            },
            "configuration": true,
            "didChangeWatchedFiles": {
                "dynamicRegistration": true,
                "relativePatternSupport": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "resolveSupport": {
                    "properties": [
                        "location.range"
                    ]
                }
            },
            "codeLens": {
                "refreshSupport": true
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "workspaceFolders": true,
            "semanticTokens": {
                "refreshSupport": true
            },
            "fileOperations": {
                "dynamicRegistration": true,
                "didCreate": true,
                "didRename": true,
                "didDelete": true,
                "willCreate": true,
                "willRename": true,
                "willDelete": true
            },
            "inlineValue": {
                "refreshSupport": true
            },
            "inlayHint": {
                "refreshSupport": true
            },
            "diagnostics": {
                "refreshSupport": true
            }
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": false,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                },
                "codeDescriptionSupport": true,
                "dataSupport": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    },
                    "insertReplaceSupport": true,
                    "resolveSupport": {
                        "properties": [
                            "documentation",
                            "detail",
                            "additionalTextEdits"
                        ]
                    },
                    "insertTextModeSupport": {
                        "valueSet": [
                            1,
                            2
                        ]
                    },
                    "labelDetailsSupport": true
                },
                "insertTextMode": 2,
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                },
                "completionList": {
                    "itemDefaults": [
                        "commitCharacters",
                        "editRange",
                        "insertTextFormat",
                        "insertTextMode"
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    },
                    "activeParameterSupport": true
                },
                "contextSupport": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "labelSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "disabledSupport": true,
                "dataSupport": true,
                "resolveSupport": {
                    "properties": [
                        "edit"
                    ]
                },
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                },
                "honorsChangeAnnotations": false
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true,
                "prepareSupportDefaultBehavior": 1,
                "honorsChangeAnnotations": true
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true,
                "foldingRangeKind": {
                    "valueSet": [
                        "comment",
                        "imports",
                        "region"
                    ]
                },
                "foldingRange": {
                    "collapsedText": false
                }
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "selectionRange": {
                "dynamicRegistration": true
            },
            "callHierarchy": {
                "dynamicRegistration": true
            },
            "semanticTokens": {
                "dynamicRegistration": true,
                "tokenTypes": [
                    "namespace",
                    "type",
                    "class",
                    "enum",
                    "interface",
                    "struct",
                    "typeParameter",
                    "parameter",
                    "variable",
                    "property",
                    "enumMember",
                    "event",
                    "function",
                    "method",
                    "macro",
                    "keyword",
                    "modifier",
                    "comment",
                    "string",
                    "number",
                    "regexp",
                    "operator",
                    "decorator"
                ],
                "tokenModifiers": [
                    "declaration",
                    "definition",
                    "readonly",
                    "static",
                    "deprecated",
                    "abstract",
                    "async",
                    "modification",
                    "documentation",
                    "defaultLibrary"
                ],
                "formats": [
                    "relative"
                ],
                "requests": {
                    "range": true,
                    "full": {
                        "delta": true
                    }
                },
                "multilineTokenSupport": false,
                "overlappingTokenSupport": false,
                "serverCancelSupport": true,
                "augmentsSyntaxTokens": true
            },
            "linkedEditingRange": {
                "dynamicRegistration": true
            },
            "typeHierarchy": {
                "dynamicRegistration": true
            },
            "inlineValue": {
                "dynamicRegistration": true
            },
            "inlayHint": {
                "dynamicRegistration": true,
                "resolveSupport": {
                    "properties": [
                        "tooltip",
                        "textEdits",
                        "label.tooltip",
                        "label.location",
                        "label.command"
                    ]
                }
            },
            "diagnostic": {
                "dynamicRegistration": true,
                "relatedDocumentSupport": false
            }
        },
        "window": {
            "showMessage": {
                "messageActionItem": {
                    "additionalPropertiesSupport": true
                }
            },
            "showDocument": {
                "support": true
            },
            "workDoneProgress": true
        },
        "general": {
            "staleRequestSupport": {
                "cancel": true,
                "retryOnContentModified": [
                    "textDocument/semanticTokens/full",
                    "textDocument/semanticTokens/range",
                    "textDocument/semanticTokens/full/delta"
                ]
            },
            "regularExpressions": {
                "engine": "ECMAScript",
                "version": "ES2020"
            },
            "markdown": {
                "parser": "marked",
                "version": "1.1.0"
            },
            "positionEncodings": [
                "utf-16"
            ]
        },
        "notebookDocument": {
            "synchronization": {
                "dynamicRegistration": true,
                "executionSummarySupport": true
            }
        }
    },
    "initializationOptions": {
        "settings": [
            {
                "cwd": "/workspaces/project",
                "workspace": "file:///workspaces/project",
                "path": [],
                "ignoreStandardLibrary": true,
                "interpreter": [
                    "/workspaces/project/.venv/bin/python"
                ],
                "importStrategy": "fromEnvironment",
                "codeAction": {
                    "fixViolation": {
                        "enable": true
                    },
                    "disableRuleComment": {
                        "enable": true
                    }
                },
                "lint": {
                    "enable": true,
                    "run": "onType",
                    "args": []
                },
                "format": {
                    "args": []
                },
                "enable": true,
                "organizeImports": true,
                "fixAll": true,
                "showNotifications": "off"
            }
        ],
        "globalSettings": {
            "cwd": "/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937",
            "workspace": "/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937",
            "path": [],
            "ignoreStandardLibrary": true,
            "interpreter": [],
            "importStrategy": "fromEnvironment",
            "codeAction": {
                "fixViolation": {
                    "enable": true
                },
                "disableRuleComment": {
                    "enable": true
                }
            },
            "lint": {
                "enable": true,
                "run": "onType",
                "args": []
            },
            "format": {
                "args": []
            },
            "enable": true,
            "organizeImports": true,
            "fixAll": true,
            "showNotifications": "off"
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///workspaces/project",
            "name": "project"
        }
    ]
}

2024-02-06 12:51:47.844 [info] 2024-02-06 12:51:47,780 INFO Starting IO server

2024-02-06 12:51:47.860 [info] [Trace - 12:51:47 PM] Received notification 'window/logMessage'.
2024-02-06 12:51:47.860 [info] Params: {
    "type": 4,
    "message": "Workspace settings: [\n    {\n        \"cwd\": \"/workspaces/project\",\n        \"workspace\": \"file:///workspaces/project\",\n        \"path\": [],\n        \"ignoreStandardLibrary\": true,\n        \"interpreter\": [\n            \"/workspaces/project/.venv/bin/python\"\n        ],\n        \"importStrategy\": \"fromEnvironment\",\n        \"codeAction\": {\n            \"fixViolation\": {\n                \"enable\": true\n            },\n            \"disableRuleComment\": {\n                \"enable\": true\n            }\n        },\n        \"lint\": {\n            \"enable\": true,\n            \"run\": \"onType\",\n            \"args\": []\n        },\n        \"format\": {\n            \"args\": []\n        },\n        \"enable\": true,\n        \"organizeImports\": true,\n        \"fixAll\": true,\n        \"showNotifications\": \"off\"\n    }\n]"
}

2024-02-06 12:51:47.860 [info] Workspace settings: [
    {
        "cwd": "/workspaces/project",
        "workspace": "file:///workspaces/project",
        "path": [],
        "ignoreStandardLibrary": true,
        "interpreter": [
            "/workspaces/project/.venv/bin/python"
        ],
        "importStrategy": "fromEnvironment",
        "codeAction": {
            "fixViolation": {
                "enable": true
            },
            "disableRuleComment": {
                "enable": true
            }
        },
        "lint": {
            "enable": true,
            "run": "onType",
            "args": []
        },
        "format": {
            "args": []
        },
        "enable": true,
        "organizeImports": true,
        "fixAll": true,
        "showNotifications": "off"
    }
]
2024-02-06 12:51:47.861 [info] [Trace - 12:51:47 PM] Received notification 'window/logMessage'.
2024-02-06 12:51:47.861 [info] Params: {
    "type": 4,
    "message": "Global settings: {\n    \"cwd\": \"/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937\",\n    \"workspace\": \"/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937\",\n    \"path\": [],\n    \"ignoreStandardLibrary\": true,\n    \"interpreter\": [],\n    \"importStrategy\": \"fromEnvironment\",\n    \"codeAction\": {\n        \"fixViolation\": {\n            \"enable\": true\n        },\n        \"disableRuleComment\": {\n            \"enable\": true\n        }\n    },\n    \"lint\": {\n        \"enable\": true,\n        \"run\": \"onType\",\n        \"args\": []\n    },\n    \"format\": {\n        \"args\": []\n    },\n    \"enable\": true,\n    \"organizeImports\": true,\n    \"fixAll\": true,\n    \"showNotifications\": \"off\"\n}"
}

2024-02-06 12:51:47.861 [info] Global settings: {
    "cwd": "/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937",
    "workspace": "/vscode/vscode-server/bin/linux-x64/05047486b6df5eb8d44b2ecd70ea3bdf775fd937",
    "path": [],
    "ignoreStandardLibrary": true,
    "interpreter": [],
    "importStrategy": "fromEnvironment",
    "codeAction": {
        "fixViolation": {
            "enable": true
        },
        "disableRuleComment": {
            "enable": true
        }
    },
    "lint": {
        "enable": true,
        "run": "onType",
        "args": []
    },
    "format": {
        "args": []
    },
    "enable": true,
    "organizeImports": true,
    "fixAll": true,
    "showNotifications": "off"
}
2024-02-06 12:51:47.869 [info] [Trace - 12:51:47 PM] Received response 'initialize - (0)' in 872ms.
2024-02-06 12:51:47.869 [info] Result: {
    "capabilities": {
        "positionEncoding": "utf-16",
        "textDocumentSync": {
            "openClose": true,
            "change": 2,
            "willSave": false,
            "willSaveWaitUntil": false,
            "save": true
        },
        "notebookDocumentSync": {
            "notebookSelector": [
                {
                    "cells": [
                        {
                            "language": "python"
                        }
                    ]
                }
            ],
            "save": true
        },
        "hoverProvider": true,
        "codeActionProvider": {
            "codeActionKinds": [
                "quickfix",
                "source.fixAll",
                "source.organizeImports",
                "source.fixAll.ruff",
                "source.organizeImports.ruff",
                "notebook.source.fixAll",
                "notebook.source.organizeImports",
                "notebook.source.fixAll.ruff",
                "notebook.source.organizeImports.ruff"
            ],
            "resolveProvider": true
        },
        "documentFormattingProvider": true,
        "documentRangeFormattingProvider": {
            "documentSelector": [
                {
                    "language": "python",
                    "scheme": "file"
                },
                {
                    "language": "python",
                    "scheme": "untitled"
                }
            ],
            "rangesSupport": false,
            "workDoneProgress": false
        },
        "executeCommandProvider": {
            "commands": [
                "ruff.applyAutofix",
                "ruff.applyOrganizeImports",
                "ruff.applyFormat"
            ]
        },
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            },
            "fileOperations": {}
        }
    },
    "serverInfo": {
        "name": "Ruff",
        "version": "0.0.52"
    }
}

2024-02-06 12:51:47.870 [info] [Trace - 12:51:47 PM] Sending notification 'initialized'.
2024-02-06 12:51:47.870 [info] Params: {}

2024-02-06 12:52:35.726 [info] [Trace - 12:52:35 PM] Sending notification 'textDocument/didOpen'.
2024-02-06 12:52:35.727 [info] [Trace - 12:52:35 PM] Sending request 'textDocument/codeAction - (1)'.
2024-02-06 12:52:35.795 [info] [Trace - 12:52:35 PM] Received notification 'window/logMessage'.
2024-02-06 12:52:35.795 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:52:35.797 [info] [Trace - 12:52:35 PM] Received notification 'window/logMessage'.
2024-02-06 12:52:35.797 [info] Inferred version 0.2.1 for: /workspaces/project/.venv/bin/ruff
2024-02-06 12:52:35.797 [info] [Trace - 12:52:35 PM] Received notification 'window/logMessage'.
2024-02-06 12:52:35.798 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:52:35.798 [info] [Trace - 12:52:35 PM] Received notification 'window/logMessage'.
2024-02-06 12:52:35.798 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:52:35.798 [info] [Trace - 12:52:35 PM] Received response 'textDocument/codeAction - (1)' in 71ms.
2024-02-06 12:52:35.799 [info] [Trace - 12:52:35 PM] Received notification 'textDocument/publishDiagnostics'.
2024-02-06 12:52:35.927 [info] [Trace - 12:52:35 PM] Sending request 'textDocument/codeAction - (2)'.
2024-02-06 12:52:36.025 [info] [Trace - 12:52:36 PM] Received response 'textDocument/codeAction - (2)' in 98ms.
2024-02-06 12:52:38.379 [info] [Trace - 12:52:38 PM] Sending request 'textDocument/hover - (3)'.
2024-02-06 12:52:38.382 [info] [Trace - 12:52:38 PM] Received response 'textDocument/hover - (3)' in 2ms.
2024-02-06 12:53:05.271 [info] [Trace - 12:53:05 PM] Sending request 'textDocument/codeAction - (4)'.
2024-02-06 12:53:05.273 [info] [Trace - 12:53:05 PM] Received response 'textDocument/codeAction - (4)' in 2ms.
2024-02-06 12:53:07.944 [info] [Trace - 12:53:07 PM] Sending request 'textDocument/codeAction - (5)'.
2024-02-06 12:53:07.948 [info] [Trace - 12:53:07 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:07.948 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:07.949 [info] [Trace - 12:53:07 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:07.949 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:07.949 [info] [Trace - 12:53:07 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:07.949 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--fix', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:53:07.954 [info] [Trace - 12:53:07 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:07.954 [info] []
2024-02-06 12:53:07.956 [info] [Trace - 12:53:07 PM] Received response 'textDocument/codeAction - (5)' in 11ms.
2024-02-06 12:53:08.003 [info] [Trace - 12:53:08 PM] Sending request 'textDocument/codeAction - (6)'.
2024-02-06 12:53:08.006 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.006 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:08.007 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.007 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:08.007 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.007 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--fix', '--select', 'I001', '--select', 'I002', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:53:08.012 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.012 [info] []
2024-02-06 12:53:08.013 [info] [Trace - 12:53:08 PM] Received response 'textDocument/codeAction - (6)' in 10ms.
2024-02-06 12:53:08.064 [info] [Trace - 12:53:08 PM] Sending request 'textDocument/formatting - (7)'.
2024-02-06 12:53:08.068 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.068 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:08.068 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.068 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:08.068 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.068 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['format', '--force-exclude', '--quiet', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:53:08.073 [info] [Trace - 12:53:08 PM] Received response 'textDocument/formatting - (7)' in 8ms.
2024-02-06 12:53:08.177 [info] [Trace - 12:53:08 PM] Sending notification 'textDocument/didSave'.
2024-02-06 12:53:08.181 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.181 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:08.181 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.181 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:08.181 [info] [Trace - 12:53:08 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:08.181 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:53:08.185 [info] [Trace - 12:53:08 PM] Received notification 'textDocument/publishDiagnostics'.
2024-02-06 12:53:11.116 [info] [Trace - 12:53:11 PM] Sending request 'textDocument/codeAction - (8)'.
2024-02-06 12:53:11.118 [info] [Trace - 12:53:11 PM] Received response 'textDocument/codeAction - (8)' in 2ms.
2024-02-06 12:53:15.028 [info] [Trace - 12:53:15 PM] Sending request 'workspace/executeCommand - (9)'.
2024-02-06 12:53:15.032 [info] [Trace - 12:53:15 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:15.033 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:15.033 [info] [Trace - 12:53:15 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:15.033 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:15.033 [info] [Trace - 12:53:15 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:15.033 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--fix', '--select', 'I001', '--select', 'I002', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:53:15.038 [info] [Trace - 12:53:15 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:15.038 [info] []
2024-02-06 12:53:15.039 [info] [Trace - 12:53:15 PM] Received request 'workspace/applyEdit - (88d40ec2-f0fe-40b8-9c5c-ae508a7a6e5f)'.
2024-02-06 12:53:15.040 [info] [Trace - 12:53:15 PM] Received response 'workspace/executeCommand - (9)' in 12ms.
2024-02-06 12:53:15.093 [info] [Trace - 12:53:15 PM] Sending response 'workspace/applyEdit - (88d40ec2-f0fe-40b8-9c5c-ae508a7a6e5f)'. Processing request took 54ms
2024-02-06 12:53:26.554 [info] [Trace - 12:53:26 PM] Sending request 'workspace/executeCommand - (10)'.
2024-02-06 12:53:26.556 [info] [Trace - 12:53:26 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:26.556 [info] Using interpreter executable: /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:26.556 [info] [Trace - 12:53:26 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:26.557 [info] Found ruff 0.2.1 at /workspaces/project/.venv/bin/ruff
2024-02-06 12:53:26.557 [info] [Trace - 12:53:26 PM] Received notification 'window/logMessage'.
2024-02-06 12:53:26.557 [info] Running Ruff with: /workspaces/project/.venv/bin/ruff ['format', '--force-exclude', '--quiet', '--stdin-filename', '/workspaces/project/project/build/docker_run.py']
2024-02-06 12:53:26.563 [info] [Trace - 12:53:26 PM] Received request 'workspace/applyEdit - (e80531a4-ef3c-42c6-a4f4-57c27dfe77a2)'.
2024-02-06 12:53:26.563 [info] [Trace - 12:53:26 PM] Received response 'workspace/executeCommand - (10)' in 10ms.
2024-02-06 12:53:26.616 [info] [Trace - 12:53:26 PM] Sending response 'workspace/applyEdit - (e80531a4-ef3c-42c6-a4f4-57c27dfe77a2)'. Processing request took 53ms

devcontainer.json

{
    "name": "project",
    "image": "mcr.microsoft.com/devcontainers/python:3.12",
    "features": {
        "ghcr.io/devcontainers/features/git:1": {},
        "ghcr.io/devcontainers-contrib/features/poetry:2": {}
    },
    "postCreateCommand": "sudo /usr/local/py-utils/bin/poetry self add poetry-dynamic-versioning[plugin] && pip install --upgrade pip && poetry install --all-extras && poetry run pre-commit install",
    "containerEnv": {
        "POETRY_VIRTUALENVS_IN_PROJECT": "true"
    },
    "customizations": {
        "vscode": {
            "extensions": [
                "ms-python.python",
                "aaron-bond.better-comments",
                "SonarSource.sonarlint-vscode",
                "yzhang.markdown-all-in-one",
                "streetsidesoftware.code-spell-checker",
                "charliermarsh.ruff"
            ],
            "settings": {
                "python.analysis.typeCheckingMode": "off",
                "python.languageServer": "Pylance",
                "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
                "python.testing.pytestEnabled": true,
                "python.testing.unittestEnabled": false,
                "python.testing.pytestArgs": [
                    "tests"
                ],
                // Ruff
                "[python]": {
                    "editor.formatOnSave": true,
                    "editor.codeActionsOnSave": {
                        "source.fixAll": "always",
                        "source.organizeImports": "always"
                    },
                    "editor.defaultFormatter": "charliermarsh.ruff"
                }
            }
        }
    },
    "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/project,type=bind",
    "workspaceFolder": "/workspaces/project"
}
charliermarsh commented 5 months ago

Hmm, so one thing to consider: can you try renaming your directory from build to anything else? build is one of our default-excluded directories (though I want to remove it from that list).

Wesztman commented 5 months ago

Hmm, so one thing to consider: can you try renaming your directory from build to anything else? build is one of our default-excluded directories (though I want to remove it from that list).

I'd be damned, that was the problem 😅 thank you so much for the quick answer!!

I agree that it's not the best name on a folder... 😅 working with an old codebase, so cannot change it easily atm.

But a way around this should be to define the "exclude" myself in my pyproject.toml with all the defaults, but remove "build" from the list? 😊

Would be awsome to have a warning in the vscode output that ruff will not do anything because of exclude 😊 if that is even possible.

charliermarsh commented 5 months ago

@Wesztman - Yeah that's correct. I wish build wasn't in the list (not the first time this has come up) but we'll have to go through a deprecation cycle for it. So you'd want something like:


exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".git-rewrite",
    ".hg",
    ".ipynb_checkpoints",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pyenv",
    ".pytest_cache",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    ".vscode",
    "__pypackages__",
    "_build",
    "buck-out",
    # "build",
    "dist",
    "node_modules",
    "site-packages",
    "venv",
]
Wesztman commented 5 months ago

@charliermarsh , works like a charm! Thanks for the quick help 😊 you can close this 👍