Tengo el siguiente pyproject.toml para configurar el negro:
[tool.black] exclude = 'foo.py' Si corro black . desde la carpeta raíz del proyecto que solo contiene foo.py , obtengo No Python files are present to be formatted. Nothing to do �😴 como se esperaba.
Sin embargo, cuando foo.py desde VS Code (tengo negro configurado como formateador y habilité Format On Save), el archivo todavía está formateado en negro.
Curiosamente, VS Code parece respetar otras configuraciones, por ejemplo, line-length .
¿Hay alguna manera de hacer que VSCode respete la configuración de exclude ?
Si enumera un archivo explícitamente, esto tiene prioridad sobre los archivos excluidos. Esto parece ser lo que los desarrolladores de Black consideran el comportamiento esperado, vea por ejemplo este problema . Además, esto no se solucionará dentro de vscode, consulte este problema .
Esto también es un problema cuando se usa el compromiso previo .
Como no quería mantener otra lista (ya hago esto para la confirmación previa) de archivos para los que no quiero usar FormatOnSave , terminé usando un enfoque diferente. Dado que todos los archivos que no quiero formatear automáticamente al guardar residen en una carpeta específica dentro de mi proyecto, terminé usando la solución alternativa descrita en esta respuesta y desactivé FormatOnSave en la configuración de la subcarpeta.