mirror of
https://github.com/astral-sh/ruff
synced 2026-01-21 21:40:51 -05:00
## Summary This PR adds support for VS Code specific cell metadata to consider when collecting valid code cells. For context, Ruff only runs on valid code cells. These are the code cells that doesn't contain cell magics. Previously, Ruff only used the notebook's metadata to determine whether it's a Python notebook. But, in VS Code, a notebook's preferred language might be Python but it could still contain code cells for other languages. This can be determined with the `metadata.vscode.languageId` field. ### References: * https://code.visualstudio.com/docs/languages/identifiers *e6c009a3d4/extensions/ipynb/src/serializers.ts (L104-L107)*e6c009a3d4/extensions/ipynb/src/serializers.ts (L117-L122)This brings us one step closer to fixing #12281. ## Test Plan Add test cases for `is_valid_python_code_cell` and an integration test case which showcase running it end to end. The test notebook contains a JavaScript code cell and a Python code cell.