有没有办法阻止 VSC 中的自动格式化程序更改某些 line/piece 代码?
Is there a way to prevent autoformatter in VSC to change certain line/piece of code?
我写了一些 python 脚本,在大多数情况下,我对自动格式化程序的工作方式完全满意。但有时我想保持垂直一致性或逻辑上将代码拆分成行。
# autoformatter removes all leading spaces here
array = numpy.array([[
[ 0, 1589, 25825225, 1589, 0],
[ 1589, 26265625, 26265625, 26265625, 1589],
[25825225, 26265625, 26265625, 26265625, 25825225],
[ 1589, 26265625, 26265625, 26265625, 1589],
[ 0, 1589, 25825225, 1589, 0],
]])
# autoformatter splits line at '-' sign in the first brackets
links[point.degree - 1].append([
neighbor.index for neighbor in point.neighbors
])
有没有办法告诉自动格式化程序(我为 VSC 使用默认的 Python 包)忽略这些行(类似于 # pylint: disable=C0123
魔术注释)?
Python 扩展支持两种格式化程序:autopep8(默认)和 yapf。您可以使用以下配置切换到 yapf:
"python.formatting.provider": "yapf"
Yapf 支持通过注释排除区域格式:
# yapf: disable
links[point.degree - 1].append([
neighbor.index for neighbor in point.neighbors
])
# yapf: enable
我还没有找到 autopep8 的类似功能(尽管您可以使用 --ignore
全局禁用 specific fixes)。
我写了一些 python 脚本,在大多数情况下,我对自动格式化程序的工作方式完全满意。但有时我想保持垂直一致性或逻辑上将代码拆分成行。
# autoformatter removes all leading spaces here
array = numpy.array([[
[ 0, 1589, 25825225, 1589, 0],
[ 1589, 26265625, 26265625, 26265625, 1589],
[25825225, 26265625, 26265625, 26265625, 25825225],
[ 1589, 26265625, 26265625, 26265625, 1589],
[ 0, 1589, 25825225, 1589, 0],
]])
# autoformatter splits line at '-' sign in the first brackets
links[point.degree - 1].append([
neighbor.index for neighbor in point.neighbors
])
有没有办法告诉自动格式化程序(我为 VSC 使用默认的 Python 包)忽略这些行(类似于 # pylint: disable=C0123
魔术注释)?
Python 扩展支持两种格式化程序:autopep8(默认)和 yapf。您可以使用以下配置切换到 yapf:
"python.formatting.provider": "yapf"
Yapf 支持通过注释排除区域格式:
# yapf: disable
links[point.degree - 1].append([
neighbor.index for neighbor in point.neighbors
])
# yapf: enable
我还没有找到 autopep8 的类似功能(尽管您可以使用 --ignore
全局禁用 specific fixes)。