Is there a way to configure IDLE to use spaces instead of tabs for indenting?

Discussion in 'Python' started by Alex, Aug 24, 2012.

  1. Alex

    Alex Guest

    I'm new to Python and have been using IDLE 3.2.3 to experiment with
    code as I learn. Despite being configured to use a 4 space indentation
    width, sometimes IDLE's "smart" indentation insists upon using width-8
    tabs.

    From what I've been able to find on Google, this is due to a
    shortcoming in Tk. While it's not that big a deal in the grand scheme
    of things, I think it looks like poop, and I'd like to change IDLE to
    use 4-space indentation instead of tabs for all indentation levels.

    Is there any way for me to achieve what I want in IDLE, or do I have to
    start up my full-blown IDE if I want consistent 4-space indentation?

    Alex
     
    Alex, Aug 24, 2012
    #1
    1. Advertising

  2. Alex

    Terry Reedy Guest

    Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On 8/24/2012 6:33 PM, Alex wrote:
    > I'm new to Python and have been using IDLE 3.2.3 to experiment with
    > code as I learn. Despite being configured to use a 4 space indentation


    That applies to the editor and works in the editor for me and others. A
    tab becomes 4 space characters, and a backspace in the appropriate place
    deletes 4 space characters.

    > width, sometimes IDLE's "smart" indentation insists upon using width-8
    > tabs.


    Only for the simulated interpreter. There is a tracker issue about
    changing that but no consensus.


    --
    Terry Jan Reedy
     
    Terry Reedy, Aug 25, 2012
    #2
    1. Advertising

  3. Alex

    Alex Guest

    Terry Reedy wrote:

    > On 8/24/2012 6:33 PM, Alex wrote:
    > > Despite being configured to use a 4 space
    > > indentation

    ....
    > > sometimes IDLE's "smart" indentation insists upon using
    > > width-8 tabs.

    >
    > [The 4-space indentation setting] applies to the editor and works in
    > the editor for me and others.
    >
    > [The width-8 tabs are inserted] Only for the simulated interpreter.
    > There is a tracker issue about changing that but no consensus.


    Yes, it works in the editor. I was referring to the simulated
    interpreter. I guess I didn't make that clear.

    In my search for a solution, I did see some of the traffic regarding
    the tracker issue, but the posts were all several years old and I was
    hoping maybe there was a fix by now. I guess not. Maybe in Python 4, eh?

    Thanks.

    Alex
     
    Alex, Aug 25, 2012
    #3
  4. Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On 25/08/2012 13:50, Alex wrote:
    > Terry Reedy wrote:
    >
    >> On 8/24/2012 6:33 PM, Alex wrote:
    >>> Despite being configured to use a 4 space
    >>> indentation

    > ...
    >>> sometimes IDLE's "smart" indentation insists upon using
    >>> width-8 tabs.

    >>
    >> [The 4-space indentation setting] applies to the editor and works in
    >> the editor for me and others.
    >>
    >> [The width-8 tabs are inserted] Only for the simulated interpreter.
    >> There is a tracker issue about changing that but no consensus.

    >
    > Yes, it works in the editor. I was referring to the simulated
    > interpreter. I guess I didn't make that clear.
    >
    > In my search for a solution, I did see some of the traffic regarding
    > the tracker issue, but the posts were all several years old and I was
    > hoping maybe there was a fix by now. I guess not. Maybe in Python 4, eh?
    >
    > Thanks.
    >
    > Alex
    >


    For the record issue 7676, yes?

    --
    Cheers.

    Mark Lawrence.
     
    Mark Lawrence, Aug 25, 2012
    #4
  5. Alex

    Alex Guest

    Mark Lawrence wrote:

    > On 25/08/2012 13:50, Alex wrote:
    > > Terry Reedy wrote:
    > >
    > > > On 8/24/2012 6:33 PM, Alex wrote:
    > > > > Despite being configured to use a 4 space
    > > > > indentation

    > > ...
    > > > > sometimes IDLE's "smart" indentation insists upon using
    > > > > width-8 tabs.
    > > >
    > > > [The 4-space indentation setting] applies to the editor and works
    > > > in the editor for me and others.
    > > >
    > > > [The width-8 tabs are inserted] Only for the simulated
    > > > interpreter. There is a tracker issue about changing that but no
    > > > consensus.

    > >
    > > Yes, it works in the editor. I was referring to the simulated
    > > interpreter. I guess I didn't make that clear.
    > >
    > > In my search for a solution, I did see some of the traffic regarding
    > > the tracker issue, but the posts were all several years old and I
    > > was hoping maybe there was a fix by now. I guess not. Maybe in
    > > Python 4, eh?
    > >
    > > Thanks.
    > >
    > > Alex
    > >

    >
    > For the record issue 7676, yes?


    Yes, that appears to be the issue I was talking about and is, in fact,
    one of the threads I had looked at before posting here. Of course, I
    didn't pay enough attention to the dates. I see the most recent posting
    on the issue appears to have been made in January of this year, so I
    should have realized it's an ongoing issue.
     
    Alex, Aug 25, 2012
    #5
  6. Alex

    Terry Reedy Guest

    Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On 8/25/2012 10:17 AM, Alex wrote:

    > Yes, that appears to be the issue I was talking about and is, in fact,
    > one of the threads I had looked at before posting here. Of course, I
    > didn't pay enough attention to the dates. I see the most recent posting
    > on the issue appears to have been made in January of this year, so I
    > should have realized it's an ongoing issue.


    There have also been a few posts this year on the idle-sig mail list.

    There are only a few people working on IDLE and we have concentrated
    this calendar year on fixing crashers, not semi-aesthetic issues.

    --
    Terry Jan Reedy
     
    Terry Reedy, Aug 25, 2012
    #6
  7. Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On Saturday, 25 August 2012 04:03:52 UTC+5:30, Alex wrote:
    > I'm new to Python and have been using IDLE 3.2.3 to experiment with
    >
    > code as I learn. Despite being configured to use a 4 space indentation
    >
    > width, sometimes IDLE's "smart" indentation insists upon using width-8
    >
    > tabs.
    >
    >
    >
    > From what I've been able to find on Google, this is due to a
    >
    > shortcoming in Tk. While it's not that big a deal in the grand scheme
    >
    > of things, I think it looks like poop, and I'd like to change IDLE to
    >
    > use 4-space indentation instead of tabs for all indentation levels.
    >
    >
    >
    > Is there any way for me to achieve what I want in IDLE, or do I have to
    >
    > start up my full-blown IDE if I want consistent 4-space indentation?
    >
    >
    >
    > Alex


    I think an IDE is better than IDLE. Try NINJA IDE. http://ninja-ide.org
     
    Ramchandra Apte, Sep 5, 2012
    #7
  8. Alex

    Alex Guest

    Ramchandra Apte wrote:

    > On Saturday, 25 August 2012 04:03:52 UTC+5:30, Alex wrote:
    > > I'm new to Python and have been using IDLE 3.2.3 to experiment with
    > >
    > > code as I learn. Despite being configured to use a 4 space
    > > indentation
    > >
    > > width, sometimes IDLE's "smart" indentation insists upon using
    > > width-8
    > >
    > > tabs.
    > >
    > >
    > >
    > > From what I've been able to find on Google, this is due to a
    > >
    > > shortcoming in Tk. While it's not that big a deal in the grand
    > > scheme
    > >
    > > of things, I think it looks like poop, and I'd like to change IDLE
    > > to
    > >
    > > use 4-space indentation instead of tabs for all indentation levels.
    > >
    > >
    > >
    > > Is there any way for me to achieve what I want in IDLE, or do I
    > > have to
    > >
    > > start up my full-blown IDE if I want consistent 4-space indentation?
    > >
    > >
    > >
    > > Alex

    >
    > I think an IDE is better than IDLE. Try NINJA IDE.
    > http://ninja-ide.org


    Agreed. I like PyDev in Eclipse, but sometimes I just want to try out
    something quick in the interpreter, to ensure I understand it or do a
    quick experiment. Since indentation is syntactically significant in
    Python, I think fixing the interpreter to produce good, readable,
    cut-and-pasteable, and Pythonic code is more important than a cosmetic
    feature, but less important than true bugs.
     
    Alex, Sep 6, 2012
    #8
  9. Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On Thursday, 6 September 2012 19:13:23 UTC+5:30, Alex wrote:
    > Ramchandra Apte wrote:
    >
    >
    >
    > > On Saturday, 25 August 2012 04:03:52 UTC+5:30, Alex wrote:

    >
    > > > I'm new to Python and have been using IDLE 3.2.3 to experiment with

    >
    > > >

    >
    > > > code as I learn. Despite being configured to use a 4 space

    >
    > > > indentation

    >
    > > >

    >
    > > > width, sometimes IDLE's "smart" indentation insists upon using

    >
    > > > width-8

    >
    > > >

    >
    > > > tabs.

    >
    > > >

    >
    > > >

    >
    > > >

    >
    > > > From what I've been able to find on Google, this is due to a

    >
    > > >

    >
    > > > shortcoming in Tk. While it's not that big a deal in the grand

    >
    > > > scheme

    >
    > > >

    >
    > > > of things, I think it looks like poop, and I'd like to change IDLE

    >
    > > > to

    >
    > > >

    >
    > > > use 4-space indentation instead of tabs for all indentation levels.

    >
    > > >

    >
    > > >

    >
    > > >

    >
    > > > Is there any way for me to achieve what I want in IDLE, or do I

    >
    > > > have to

    >
    > > >

    >
    > > > start up my full-blown IDE if I want consistent 4-space indentation?

    >
    > > >

    >
    > > >

    >
    > > >

    >
    > > > Alex

    >
    > >

    >
    > > I think an IDE is better than IDLE. Try NINJA IDE.

    >
    > > http://ninja-ide.org

    >
    >
    >
    > Agreed. I like PyDev in Eclipse, but sometimes I just want to try out
    >
    > something quick in the interpreter, to ensure I understand it or do a
    >
    > quick experiment. Since indentation is syntactically significant in
    >
    > Python, I think fixing the interpreter to produce good, readable,
    >
    > cut-and-pasteable, and Pythonic code is more important than a cosmetic
    >
    > feature, but less important than true bugs.


    Agree.
     
    Ramchandra Apte, Sep 6, 2012
    #9
  10. Alex

    Terry Reedy Guest

    Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On 9/6/2012 9:43 AM, Alex wrote:

    >> On Saturday, 25 August 2012 04:03:52 UTC+5:30, Alex wrote:
    >>> I'm new to Python and have been using IDLE 3.2.3 to experiment with
    >>> code as I learn. Despite being configured to use a 4 space
    >>> indentation width, sometimes IDLE's "smart" indentation insists
    >>> upon using width-8 tabs.


    [snip]

    > Agreed. I like PyDev in Eclipse, but sometimes I just want to try out
    > something quick in the interpreter, to ensure I understand it or do a
    > quick experiment.


    You have two choices that come with the distribution: the console and
    IDLE. I prefer IDLE. IPython and other shells and IDEs are other choices.

    > Since indentation is syntactically significant in
    > Python, I think fixing the interpreter to produce good, readable,
    > cut-and-pasteable, and Pythonic code is more important than a cosmetic
    > feature, but less important than true bugs.


    IDLE is not the interpreter. As I said before, the IDLE editor *already*
    does what you want. The IDLE Shell is intended mainly for single-line
    inputs. For compound statements, it does automatic indenting, unlike the
    console (at least not on Windows). It uses a tab to guarantee that the
    code is visually indented. It does not use secondary prompts because a)
    they would not line up anyway with proportional fonts and b) they would
    appear in cut and paste copies. This probably count be improved, and has
    been discussed, but someone has to volunteer to write a patch that shows
    that it can be improved without introducing negative consequences. I
    would test one if one appears.

    For more than a three-line compound statement, I use the editor with a
    scratchpad file where editing is *much* easier. If the compound
    statement is a class or function definition, you need more statements
    anyway to actually exercise the definition. Hitting F5 to run is as easy
    as putting the cursor at the end of the statement and hitting Enter. And
    it runs multiple statements at once, not just one.

    --
    Terry Jan Reedy
     
    Terry Reedy, Sep 6, 2012
    #10
  11. Alex

    Alex Guest

    Terry Reedy wrote:

    [snip]

    > IDLE is not the interpreter.


    Fine, I meant shell. Thanks for fixing that for me.

    > The IDLE Shell is intended mainly for single-line inputs.


    Maybe it should be limited to that, then. That way stoopid noobs like
    me don't use it wrong and then use the wrong nomenclature to complain
    about it.

    > For more than a three-line compound statement, I use the editor with
    > a scratchpad file where editing is much easier.


    Great tip, thanks. That's how I'll do it from now on.
     
    Alex, Sep 7, 2012
    #11
  12. Re: Is there a way to configure IDLE to use spaces instead of tabsfor indenting?

    On Thu, Sep 6, 2012 at 10:43 AM, Alex <> wrote:
    > Ramchandra Apte wrote:
    >
    >> On Saturday, 25 August 2012 04:03:52 UTC+5:30, Alex wrote:
    >> > I'm new to Python and have been using IDLE 3.2.3 to experiment with
    >> >
    >> > code as I learn. Despite being configured to use a 4 space
    >> > indentation
    >> >
    >> > width, sometimes IDLE's "smart" indentation insists upon using
    >> > width-8
    >> >
    >> > tabs.
    >> >
    >> >
    >> >
    >> > From what I've been able to find on Google, this is due to a
    >> >
    >> > shortcoming in Tk. While it's not that big a deal in the grand
    >> > scheme
    >> >
    >> > of things, I think it looks like poop, and I'd like to change IDLE
    >> > to
    >> >
    >> > use 4-space indentation instead of tabs for all indentation levels.
    >> >
    >> >
    >> >
    >> > Is there any way for me to achieve what I want in IDLE, or do I
    >> > have to
    >> >
    >> > start up my full-blown IDE if I want consistent 4-space indentation?
    >> >
    >> >
    >> >
    >> > Alex

    >>
    >> I think an IDE is better than IDLE. Try NINJA IDE.
    >> http://ninja-ide.org

    >
    > Agreed. I like PyDev in Eclipse, but sometimes I just want to try out
    > something quick in the interpreter, to ensure I understand it or do a
    > quick experiment. Since indentation is syntactically significant in
    > Python, I think fixing the interpreter to produce good, readable,
    > cut-and-pasteable, and Pythonic code is more important than a cosmetic
    > feature, but less important than true bugs.
    > --



    Actually, if you're in PyDev/Eclipse already, you can just use the
    interactive shell that PyDev provides:
    http://pydev.org/manual_adv_interactive_console.html

    Cheers,

    Fabio
     
    Fabio Zadrozny, Oct 17, 2012
    #12
  13. Alex

    Alex Guest

    Fabio Zadrozny wrote:

    > On Thu, Sep 6, 2012 at 10:43 AM, Alex <> wrote:
    > > Ramchandra Apte wrote:
    > >
    > >> On Saturday, 25 August 2012 04:03:52 UTC+5:30, Alex wrote:
    > >> > I'm new to Python and have been using IDLE 3.2.3 to experiment

    > with >> >
    > >> > code as I learn. Despite being configured to use a 4 space
    > >> > indentation
    > >> >
    > >> > width, sometimes IDLE's "smart" indentation insists upon using
    > >> > width-8
    > >> >
    > >> > tabs.
    > >> >
    > >> >
    > >> >
    > >> > From what I've been able to find on Google, this is due to a
    > >> >
    > >> > shortcoming in Tk. While it's not that big a deal in the grand
    > >> > scheme
    > >> >
    > >> > of things, I think it looks like poop, and I'd like to change

    > IDLE >> > to
    > >> >
    > >> > use 4-space indentation instead of tabs for all indentation

    > levels. >> >
    > >> >
    > >> >
    > >> > Is there any way for me to achieve what I want in IDLE, or do I
    > >> > have to
    > >> >
    > >> > start up my full-blown IDE if I want consistent 4-space

    > indentation? >> >
    > >> >
    > >> >
    > >> > Alex
    > > >
    > >> I think an IDE is better than IDLE. Try NINJA IDE.
    > >> http://ninja-ide.org

    > >
    > > Agreed. I like PyDev in Eclipse, but sometimes I just want to try
    > > out something quick in the interpreter, to ensure I understand it
    > > or do a quick experiment. Since indentation is syntactically
    > > significant in Python, I think fixing the interpreter to produce
    > > good, readable, cut-and-pasteable, and Pythonic code is more
    > > important than a cosmetic feature, but less important than true
    > > bugs.
    > > --

    >
    >
    > Actually, if you're in PyDev/Eclipse already, you can just use the
    > interactive shell that PyDev provides:
    > http://pydev.org/manual_adv_interactive_console.html
    >
    > Cheers,
    >
    > Fabio


    Awesome. Exactly what I was looking for. Thanks.
     
    Alex, Oct 17, 2012
    #13
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. nospam
    Replies:
    2
    Views:
    5,210
    Joe Smith
    Jul 3, 2004
  2. ibloom
    Replies:
    12
    Views:
    908
    Bruno Desthuilliers
    Feb 13, 2008
  3. Mensanator
    Replies:
    12
    Views:
    2,870
    Mensanator
    Jan 6, 2010
  4. rantingrick

    Tabs -vs- Spaces: Tabs should have won.

    rantingrick, Jul 16, 2011, in forum: Python
    Replies:
    95
    Views:
    1,860
    Roy Smith
    Jul 19, 2011
  5. John Kopanas
    Replies:
    2
    Views:
    297
    Gregory Brown
    Jan 29, 2007
Loading...

Share This Page