Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 防止将缩进从制表符更改为空格_Python_Visual Studio Code_Vscode Settings - Fatal编程技术网

Python 防止将缩进从制表符更改为空格

Python 防止将缩进从制表符更改为空格,python,visual-studio-code,vscode-settings,Python,Visual Studio Code,Vscode Settings,我已经安装了VSCode和python 3.6.8 我使用制表符进行缩进。但是当我保存文件时,所有的标签都被转换为空格。 这可能是因为我使用的格式化程序,即黑色。如何防止格式化程序执行此操作(是否执行所有格式化操作,除了使用空格更改缩进) 谢谢假设您没有将VS代码设置为在选项卡中插入空格,那么Black很可能会将它们替换为空格,因为这是Python社区的标准,Black对如何格式化Python代码持非常固执己见的观点。您可以尝试另一个格式化程序,如yapf或autopep8,看看它们是否会保留物

我已经安装了VSCode和python 3.6.8 我使用制表符进行缩进。但是当我保存文件时,所有的标签都被转换为空格。 这可能是因为我使用的格式化程序,即黑色。如何防止格式化程序执行此操作(是否执行所有格式化操作,除了使用空格更改缩进)


谢谢

假设您没有将VS代码设置为在选项卡中插入空格,那么Black很可能会将它们替换为空格,因为这是Python社区的标准,Black对如何格式化Python代码持非常固执己见的观点。您可以尝试另一个格式化程序,如yapf或autopep8,看看它们是否会保留物理选项卡


但是请注意,绝大多数Python社区都使用空格,因此您可能会面临一场艰苦的战斗。

不仅“黑色”,而且“自动ep8”和“yapf”都会将选项卡转换为空格。看起来“black”、“autopep8”和“yapf”都没有提供参数来更改缩进的格式行为。我同意布雷特·坎农的观点,你最好适应太空缩进


如果您真的想尝试一下,可以在site packages文件夹中找到black.py,并在black.py的1540行中将“”(四个空格)更改为“”(一个选项卡,复制一个选项卡,您可以选择该选项卡包含的任何空格)。然后你就能得到你想要的。但是,我真的不推荐它。

这两个
autopep8
black
都非常严格。 他们不仅建议使用空格而不是制表符,还强制使用空格缩进


如果您真的想使用制表符,您应该使用
yapf
,样式为
use\u tabs=True

PEP8是否清楚使用制表符进行缩进:制表符还是空格?空格是首选的缩进方法。制表符应仅用于与已缩进制表符的代码保持一致。Python3不允许混合使用制表符和空格进行缩进。使用制表符和空格混合缩进的Python 2代码应转换为仅使用空格。移动到使用“4空格”,谢谢回答:]