PyCharm 重新格式化代码不会换行到指定长度
PyCharm reformat code does not wrap line to specified length
当我突出显示 PyCharm 2020.3 社区版中的一段 python 代码并尝试重新格式化代码操作时,重新格式化的代码不遵守我(相信我)指定的 80 个字符限制在设置中。
我做错了什么?
我的设置如下图:
比如我要86字行:
normalized_stop_band_edge: float = prms['stop_band_edge_in_hz'] * sam_int_in_s
重新格式化为,例如:
normalized_stop_band_edge: float = prms['stop_band_edge_in_hz'] * \
sam_int_in_s
换行是特定于语言的。在问题中显示了一般 IDE 设置的屏幕截图,但如果使用 Python 文件,一般编辑器设置将被语言特定设置取代。
对于问题中的示例代码,使用 Reformat Code
(Ctrl + Alt + L) 换行的行长度限制必须配置 2 个设置:在 File
>
Settings
>
Editor
>
Code Style
>
Python
>
Wrapping and Braces
.
Hard wrap at
(80).
Ensure right margin is not exceeded
但这还不够。必须考虑问题中的示例有 2 级缩进(8 个空格或 2 个制表符)。这将需要 运行 Reformat Code
(Ctrl + Alt + L) 两次,并且示例行位于具有 2 级缩进的范围内。例如:
class MyClass:
@staticmethod
def my_func():
normalized_stop_band_edge: float = prms['stop_band_edge_in_hz'] * sam_int_in_s
最初:
按Ctrl + Alt + L一次后:
按 Ctrl + Alt + L 两次后:
当我突出显示 PyCharm 2020.3 社区版中的一段 python 代码并尝试重新格式化代码操作时,重新格式化的代码不遵守我(相信我)指定的 80 个字符限制在设置中。
我做错了什么?
我的设置如下图:
比如我要86字行:
normalized_stop_band_edge: float = prms['stop_band_edge_in_hz'] * sam_int_in_s
重新格式化为,例如:
normalized_stop_band_edge: float = prms['stop_band_edge_in_hz'] * \
sam_int_in_s
换行是特定于语言的。在问题中显示了一般 IDE 设置的屏幕截图,但如果使用 Python 文件,一般编辑器设置将被语言特定设置取代。
对于问题中的示例代码,使用 Reformat Code
(Ctrl + Alt + L) 换行的行长度限制必须配置 2 个设置:在 File
>
Settings
>
Editor
>
Code Style
>
Python
>
Wrapping and Braces
.
Hard wrap at
(80).Ensure right margin is not exceeded
但这还不够。必须考虑问题中的示例有 2 级缩进(8 个空格或 2 个制表符)。这将需要 运行 Reformat Code
(Ctrl + Alt + L) 两次,并且示例行位于具有 2 级缩进的范围内。例如:
class MyClass:
@staticmethod
def my_func():
normalized_stop_band_edge: float = prms['stop_band_edge_in_hz'] * sam_int_in_s
最初:
按Ctrl + Alt + L一次后:
按 Ctrl + Alt + L 两次后: