有没有办法将Python设置为空闲';将交互式shell缩进宽度设置为2个空格,而不是默认值?

有没有办法将Python设置为空闲';将交互式shell缩进宽度设置为2个空格,而不是默认值?,python,shell,python-idle,Python,Shell,Python Idle,我不是问Options>Configure IDLE>font/Tabs>Indentation Width并将其设置为2。这仅设置文件内的缩进宽度,而不是交互式shell的缩进宽度 我需要更改什么Python空闲文件才能在交互式shell中获得两个空格的间距? 我喜欢用2个空格而不是4个空格来编码,因此如果交互shell没有同样的空格缩进,那么在从shell传输到文件中时,我的速度会变慢。不,目前没有 Shell目前使用制表符缩进,制表符在tk中固定为8个“空格”。我相信至少部分原因是,尽管出

我不是问
Options>Configure IDLE>font/Tabs>Indentation Width
并将其设置为
2
。这仅设置文件内的缩进宽度,而不是交互式shell的缩进宽度

我需要更改什么Python空闲文件才能在交互式shell中获得两个空格的间距?

我喜欢用2个空格而不是4个空格来编码,因此如果交互shell没有同样的空格缩进,那么在从shell传输到文件中时,我的速度会变慢。

不,目前没有

Shell目前使用制表符缩进,制表符在tk中固定为8个“空格”。我相信至少部分原因是,尽管出现了
>
提示,后续行还是会在视觉上缩进

我也不喜欢这个。将来,我希望将提示移动到侧栏中,以便输入的代码开始向左刷新,就像在编辑器中一样,并且可以使用与编辑器中相同的用户设置缩进

没有,目前没有

Shell目前使用制表符缩进,制表符在tk中固定为8个“空格”。我相信至少部分原因是,尽管出现了
>
提示,后续行还是会在视觉上缩进


我也不喜欢这个。将来,我希望将提示移动到侧栏中,以便输入的代码开始向左刷新,就像在编辑器中一样,并且可以使用与编辑器中相同的用户设置缩进

有一个解决方案*1

解决方案 转到idlelib(/lib/idlelib/)*2
打开“pyshell.py”
转到
类PyShell
初始化

有三条线

self.usetabs=True
#使用制表符时,缩进宽度必须为8。请参见编辑器窗口中的注释:
self.indentwidth=8
把它们换成

self.usetabs=False
#使用制表符时,缩进宽度必须为8。请参见编辑器窗口中的注释:
self.indentwidth=4#由你决定,很多人更喜欢2
附笔。 这将导致威德外观:

定义f(x):#计算x*abs(x) 如果x>0:#它看起来不一样,但它缩进了一次 返回x*x#和这个两次 其他: 返回-x*x 但我认为它看起来比8-空格-制表符缩进更好

脚注 *1我正在windows 10上使用python 3.8,但这可能在其他地方也适用

*2取决于python的安装位置
步骤1:查找python(对我来说是“C:\Programs\Python3.8”)

步骤2:从那里转到/lib/idlelib/

有一个解决方案*1

解决方案 转到idlelib(/lib/idlelib/)*2
打开“pyshell.py”
转到
类PyShell
初始化

有三条线

self.usetabs=True
#使用制表符时,缩进宽度必须为8。请参见编辑器窗口中的注释:
self.indentwidth=8
把它们换成

self.usetabs=False
#使用制表符时,缩进宽度必须为8。请参见编辑器窗口中的注释:
self.indentwidth=4#由你决定,很多人更喜欢2
附笔。 这将导致威德外观:

定义f(x):#计算x*abs(x) 如果x>0:#它看起来不一样,但它缩进了一次 返回x*x#和这个两次 其他: 返回-x*x 但我认为它看起来比8-空格-制表符缩进更好

脚注 *1我正在windows 10上使用python 3.8,但这可能在其他地方也适用

*2取决于python的安装位置
步骤1:查找python(对我来说是“C:\Programs\Python3.8”)

第二步:从那里转到/lib/idlelib/

Nice!我同意,我认为它看起来比8格制表符缩进更好。毕竟,这是一个交互式提示。它需要
>>
提示。感谢您识别需要更改的文件!这就回答了问题(不管我们是否在编辑核心文件)。很好!我同意,我认为它看起来比8格制表符缩进更好。毕竟,这是一个交互式提示。它需要
>>
提示。感谢您识别需要更改的文件!这就回答了问题(不管我们是否在编辑核心文件)。