Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #101454 > unrolled thread

Which Python editor has this feature?

Started byjfong@ms4.hinet.net
First post2016-01-10 17:59 -0800
Last post2016-01-26 16:09 -0200
Articles 12 on this page of 32 — 12 participants

Back to article view | Back to comp.lang.python


Contents

  Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-10 17:59 -0800
    Re: Which Python editor has this feature? Chris Angelico <rosuav@gmail.com> - 2016-01-11 13:58 +1100
      Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-11 03:04 -0800
        Re: Which Python editor has this feature? Terry Reedy <tjreedy@udel.edu> - 2016-01-11 16:21 -0500
          Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-11 17:51 -0800
            Re: Which Python editor has this feature? Terry Reedy <tjreedy@udel.edu> - 2016-01-12 02:55 -0500
              Re: Which Python editor has this feature? wxjmfauth@gmail.com - 2016-01-12 00:28 -0800
                Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-12 17:27 -0800
                  Re: Which Python editor has this feature? Chris Angelico <rosuav@gmail.com> - 2016-01-13 12:51 +1100
                  Re: Which Python editor has this feature? Steven D'Aprano <steve@pearwood.info> - 2016-01-13 13:04 +1100
                    Re: Which Python editor has this feature? wxjmfauth@gmail.com - 2016-01-13 00:04 -0800
                    Re: Which Python editor has this feature? wxjmfauth@gmail.com - 2016-01-13 07:24 -0800
              Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-12 17:20 -0800
                Re: Which Python editor has this feature? Terry Reedy <tjreedy@udel.edu> - 2016-01-13 04:10 -0500
                  Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-13 16:48 -0800
        Re: Which Python editor has this feature? Chris Angelico <rosuav@gmail.com> - 2016-01-12 11:14 +1100
        Re: Which Python editor has this feature? Bernardo Sulzbach <mafagafogigante@gmail.com> - 2016-01-11 22:55 -0200
          Re: Which Python editor has this feature? Grant Edwards <invalid@invalid.invalid> - 2016-01-12 18:31 +0000
        Re: Which Python editor has this feature? Chris Angelico <rosuav@gmail.com> - 2016-01-12 12:09 +1100
        Re: Which Python editor has this feature? Terry Reedy <tjreedy@udel.edu> - 2016-01-12 03:27 -0500
        Re: Which Python editor has this feature? Chris Angelico <rosuav@gmail.com> - 2016-01-12 21:18 +1100
        Re: Which Python editor has this feature? Terry Reedy <tjreedy@udel.edu> - 2016-01-13 04:05 -0500
        Re: Which Python editor has this feature? Chris Angelico <rosuav@gmail.com> - 2016-01-13 21:09 +1100
    Re: Which Python editor has this feature? Tim Chase <python.list@tim.thechases.com> - 2016-01-10 20:37 -0600
      Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-11 03:08 -0800
        Re: Which Python editor has this feature? Tim Chase <python.list@tim.thechases.com> - 2016-01-11 05:59 -0600
    Re: Which Python editor has this feature? Rustom Mody <rustompmody@gmail.com> - 2016-01-10 19:49 -0800
      Re: Which Python editor has this feature? Frank Haun <fh@fhaun.de> - 2016-01-11 11:54 +0000
    Re: Which Python editor has this feature? Gordon Levi <gordon@address.invalid> - 2016-01-11 19:40 +1100
      Re: Which Python editor has this feature? jfong@ms4.hinet.net - 2016-01-11 03:16 -0800
      Re: Which Python editor has this feature? Fabio Zadrozny <fabiofz@gmail.com> - 2016-01-26 16:10 -0200
    Re: Which Python editor has this feature? Fabio Zadrozny <fabiofz@gmail.com> - 2016-01-26 16:09 -0200

Page 2 of 2 — ← Prev page 1 [2]


#101534

FromChris Angelico <rosuav@gmail.com>
Date2016-01-12 21:18 +1100
Message-ID<mailman.53.1452593938.13488.python-list@python.org>
In reply to#101472
On Tue, Jan 12, 2016 at 7:27 PM, Terry Reedy <tjreedy@udel.edu> wrote:
> On 1/11/2016 8:09 PM, Chris Angelico wrote:
>>
>> On Tue, Jan 12, 2016 at 11:55 AM, Bernardo Sulzbach
>> <mafagafogigante@gmail.com> wrote:
>>>
>>> On Mon, Jan 11, 2016 at 10:14 PM, Chris Angelico <rosuav@gmail.com>
>>> wrote:
>>>>
>>>>
>>>> Next IDLE feature request: Can you make it so that, across all
>>>> platforms, it magically installs PostgreSQL and psycopg2? That would
>>>> solve so many of my students' problems...
>
>
> I detect an invisible smiley at the end of that.
>
> PostgresSQL is not a Python package, hence would need a custom script to
> download and invoke, and would probably need user clicks anyway, at least on
> Windows.  Does/could psycopg2 have such for installing its dependency?
>
> Can psycopg2 be installed with pip?  There is an issue (#23551) to make a
> pip GUI and make it accessible from IDLE.  We need someone with both pip and
> tkinter knowledge to either design and write it or mentor a GSOC student to
> do so.  One written, I would add an IDLE menu item to run it, in a separate
> process, just as done now with turtledemo.

Yes, invisible smiley... but with a hint of truth too. Obviously
installing PostgreSQL itself is outside the scope of IDLE, but
psycopg2 is indeed pip-installable... except that it isn't always, on
Windows, because wheels aren't available for all versions. (There's no
Python 3.5 wheel yet; at least, I can't see one on PyPI.) So what I'm
really looking for isn't an IDLE feature but a Python packaging
feature - some people have talked about setting up build farms that
can produce wheels for people.

Hmm. I just tried this, and actually, there's some possibly
low-hanging fruit. (Tested on Python 3.4.3 as 3.5 can't install
psycopg2 anyway.)

>>> import pip; pip.main(["install","psycopg2"])

This produces a rather messy display, because pip.main seems to assume
that writing carriage returns to the console will result in the
display nicely overwriting (producing a moving progress bar as the
file gets downloaded). If IDLE can't handle carriage returns as such,
an easy fix would be to simply display them as complete lines; it
would be more verbose than the normal console behaviour, but not as
ugly.

A couple of other random thoughts from this experiment.

* Going to python.org and pointing the mouse at the download link got
me 3.5.1 32-bit. This is on Google Chrome on a Windows 7 64-bit VM.
* Instead of pip.main(["install","psycopg2"]), I'd like to be able to
say pip.install("psycopg2"). In fact, I might take that to the pip
folks as a suggestion.
* The performance difference between "import pip" on 3.4.3 and 3.5.1
was dramatic! I don't know whether it's CPython that's been sped up or
pip itself, but it's awesome!

There's some kind of issue between pip and Idle that means that
installing a non-wheel blows up with an exception:


Traceback (most recent call last):
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\basecommand.py",
line 211, in main
    status = self.run(options, args)
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\commands\install.py",
line 294, in run
    requirement_set.prepare_files(finder)
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_set.py",
line 334, in prepare_files
    functools.partial(self._prepare_file, finder))
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_set.py",
line 321, in _walk_req_to_install
    more_reqs = handler(req_to_install)
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_set.py",
line 505, in _prepare_file
    abstract_dist.prep_for_dist()
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_set.py",
line 123, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\req\req_install.py",
line 410, in run_egg_info
    command_desc='python setup.py egg_info')
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\utils\__init__.py",
line 711, in call_subprocess
    line = console_to_str(proc.stdout.readline())
  File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\compat\__init__.py",
line 47, in console_to_str
    return s.decode(sys.__stdout__.encoding)
AttributeError: 'NoneType' object has no attribute 'encoding'


Maybe calling pip.main just isn't a supported thing, but it'd be nice
if there were _some_ way to do this, even without a fancy GUI.

How much of this is worth doing anything about, and how much is "hey,
you're hacking around calling a command-line tool from inside a GUI,
and stuff ain't a'gonna work right"?

ChrisA

[toc] | [prev] | [next] | [standalone]


#101597

FromTerry Reedy <tjreedy@udel.edu>
Date2016-01-13 04:05 -0500
Message-ID<mailman.92.1452675950.13488.python-list@python.org>
In reply to#101472
On 1/12/2016 5:18 AM, Chris Angelico wrote:
> On Tue, Jan 12, 2016 at 7:27 PM, Terry Reedy <tjreedy@udel.edu> wrote:

>> Can psycopg2 be installed with pip?  There is an issue (#23551) to make a
>> pip GUI and make it accessible from IDLE.  We need someone with both pip and
>> tkinter knowledge to either design and write it or mentor a GSOC student to
>> do so.  One written, I would add an IDLE menu item to run it, in a separate
>> process, just as done now with turtledemo.
>
> Yes, invisible smiley... but with a hint of truth too. Obviously
> installing PostgreSQL itself is outside the scope of IDLE, but
> psycopg2 is indeed pip-installable... except that it isn't always, on
> Windows, because wheels aren't available for all versions. (There's no
> Python 3.5 wheel yet; at least, I can't see one on PyPI.)

Maybe someone should give them a prod.  It has been 4 months.
http://www.lfd.uci.edu/~gohlke/pythonlibs/
only has psycopg, for 2.6.

 > So what I'm
> really looking for isn't an IDLE feature but a Python packaging
> feature - some people have talked about setting up build farms that
> can produce wheels for people.

Building binaries is a rather different issue, certainly on Windows.

> Hmm. I just tried this, and actually, there's some possibly
> low-hanging fruit. (Tested on Python 3.4.3 as 3.5 can't install
> psycopg2 anyway.)
>
>>>> import pip; pip.main(["install","psycopg2"])

https://bugs.python.org/issue23551
has my report of experimenting with directly using pip.main.  The main 
issue I ran into is that pip creates a cache of 'currently installed 
packages' the first time it needs it and never again during the same 
process.  In other words, pip.main is called exactly once when pip is 
run from the command line.  Another command from the command line starts 
a new process, which makes a new cache.  So calling main() repeatedly 
may fail due to a stale cache.  However, the need to refresh it is 
predictable, so reloading the module may work.

> This produces a rather messy display, because pip.main seems to assume
> that writing carriage returns to the console will result in the
> display nicely overwriting (producing a moving progress bar as the
> file gets downloaded). If IDLE can't handle carriage returns as such,
> an easy fix would be to simply display them as complete lines; it
> would be more verbose than the normal console behaviour, but not as
> ugly.

Currently, Idle sends user code output to the tk Text widget as is, 
except for colorizing.  There was an issue about changing this, but it 
was closed, at least for the time being, as Python allows print to send 
output to any file and does not require than stdout be connected to a 
'console', and anyway there is no standard for console behavior.

A gui program that runs pip and displays its output would generally 
parse output for display in differnet widgets.
>
> A couple of other random thoughts from this experiment.
>
> * Going to python.org and pointing the mouse at the download link got
> me 3.5.1 32-bit. This is on Google Chrome on a Windows 7 64-bit VM.
> * Instead of pip.main(["install","psycopg2"]), I'd like to be able to
> say pip.install("psycopg2"). In fact, I might take that to the pip
> folks as a suggestion.

> * The performance difference between "import pip" on 3.4.3 and 3.5.1
> was dramatic! I don't know whether it's CPython that's been sped up or
> pip itself, but it's awesome!

Try with 3.4.4, as I believe its installer should also update to the 
most recent pip version.

> There's some kind of issue between pip and Idle that means that
> installing a non-wheel blows up with an exception:
>
>
> Traceback (most recent call last):
>    File "C:\Users\Rosuav\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pip\basecommand.py",
> ...
>      return s.decode(sys.__stdout__.encoding)
> AttributeError: 'NoneType' object has no attribute 'encoding'

Assuming that sys.__sydout__ is not None is a bug on pip's part. 
Perhaps you could report it to it list or tracker, and point Donald and 
whoever to https://docs.python.org/3/library/sys.html#sys.__stdin__

"Note

Under some conditions stdin, stdout and stderr as well as the original 
values __stdin__, __stdout__ and __stderr__ can be None. It is usually 
the case for Windows GUI apps that aren’t connected to a console and 
Python apps started with pythonw."

IDLE is a GUI app that on Windows is started with pythonw.exe.  More 
relevant, user code is executed in a windowless pythonw process.  The 
same problem should occur with any IDE that executes user code in a 
pythonw process.

A GUI program could work around the bug by setting sys.__stdin__ to an 
object with a .encoding attribute.  I checked that this can be done.

> Maybe calling pip.main just isn't a supported thing, but it'd be nice
> if there were _some_ way to do this, even without a fancy GUI.

Calling is once during a process is supported, or supposed to be.
If you ran, at the console,
   > pythonw.exe -c "import pip; pip.main(['install','psycopg2'])"
the same failure would happen.  However, the only indication of failure, 
before you checked site-packages and found no psycopg2, would be the 
quick return to the console prompt.

> How much of this is worth doing anything about, and how much is "hey,
> you're hacking around calling a command-line tool from inside a GUI,
> and stuff ain't a'gonna work right"?

On the issue linked above, Donald Stuffit, a (the?) pip maintainer, said 
that he wanted there to be a pip Gui, even though he was unlikely to 
write it himself.  We have identified 3 problems; I believe all can be 
worked around.  I added your two and the workarounds to the issue.

-- 
Terry Jan Reedy

[toc] | [prev] | [next] | [standalone]


#101600

FromChris Angelico <rosuav@gmail.com>
Date2016-01-13 21:09 +1100
Message-ID<mailman.95.1452679749.13488.python-list@python.org>
In reply to#101472
On Wed, Jan 13, 2016 at 8:05 PM, Terry Reedy <tjreedy@udel.edu> wrote:
> Assuming that sys.__sydout__ is not None is a bug on pip's part. Perhaps you
> could report it to it list or tracker, and point Donald and whoever to
> https://docs.python.org/3/library/sys.html#sys.__stdin__
>
> "Note
>
> Under some conditions stdin, stdout and stderr as well as the original
> values __stdin__, __stdout__ and __stderr__ can be None. It is usually the
> case for Windows GUI apps that aren’t connected to a console and Python apps
> started with pythonw."
>

Thanks! Posted. https://github.com/pypa/pip/issues/3356

ChrisA

[toc] | [prev] | [next] | [standalone]


#101457

FromTim Chase <python.list@tim.thechases.com>
Date2016-01-10 20:37 -0600
Message-ID<mailman.2.1452482175.13488.python-list@python.org>
In reply to#101454
On 2016-01-10 17:59, jfong@ms4.hinet.net wrote:
> It lets you jump between the current cursor position and the line
> the upper level indentation start, something like the bracket
> matching in C editor. Because of Python use indentation as its code
> block mark, It might be helpful if we can jump between different
> level of it:-)

While not quite what you're asking for, vim offers an "indent text
object" plugin[1] that allows you to use a block of indentation
around the cursor as an object.  So you can use vim's grammar to issue
commands like "dai" to delete the current indentation-defined block;
or you can use ">ii" to add a level of indentation to the
indentation-defined block.

If you want to make a vim mapping that will jump up to the top of the
previous level of indentation, the following should do the trick

  :nnoremap <expr> Q '?^'.repeat(' ', (strlen(substitute(getline('.'), '\S.*', '', ''))-&sw)).'\S?e'."\<cr>"

There might be some edge-cases that I haven't caught there, but, as
long as you edit with spaces rather than tabs, it should work,
including the accommodation of your 'shiftwidth', even if it's not
PEP8 4-spaces-per-indent.

-tkc

[1]
https://github.com/michaeljsmith/vim-indent-object




[toc] | [prev] | [next] | [standalone]


#101473

Fromjfong@ms4.hinet.net
Date2016-01-11 03:08 -0800
Message-ID<a6bcf94b-fa85-4e23-8d11-67a0c32c3342@googlegroups.com>
In reply to#101457
Tim Chase at 2016/1/11 UTC+8 11:16:27AM wrote:
> On 2016-01-10 17:59, jfong@ms4.hinet.net wrote:
> > It lets you jump between the current cursor position and the line
> > the upper level indentation start, something like the bracket
> > matching in C editor. Because of Python use indentation as its code
> > block mark, It might be helpful if we can jump between different
> > level of it:-)
> 
> While not quite what you're asking for, vim offers an "indent text
> object" plugin[1] that allows you to use a block of indentation
> around the cursor as an object.  So you can use vim's grammar to issue
> commands like "dai" to delete the current indentation-defined block;
> or you can use ">ii" to add a level of indentation to the
> indentation-defined block.

Thanks, Tim.
I always admire people who can remember all those detail commands/parameters/options which a DOS-style editor as vim has. It's almost like a mission impossible to me:-(

> If you want to make a vim mapping that will jump up to the top of the
> previous level of indentation, the following should do the trick
> 
>   :nnoremap <expr> Q '?^'.repeat(' ', (strlen(substitute(getline('.'), '\S.*', '', ''))-&sw)).'\S?e'."\<cr>"

But, but... this line??? won't it goes too far for a human being to read?

--Jach

> There might be some edge-cases that I haven't caught there, but, as
> long as you edit with spaces rather than tabs, it should work,
> including the accommodation of your 'shiftwidth', even if it's not
> PEP8 4-spaces-per-indent.
> 
> -tkc
> 
> [1]
> https://github.com/michaeljsmith/vim-indent-object

[toc] | [prev] | [next] | [standalone]


#101476

FromTim Chase <python.list@tim.thechases.com>
Date2016-01-11 05:59 -0600
Message-ID<mailman.8.1452513736.13488.python-list@python.org>
In reply to#101473
On 2016-01-11 03:08, jfong@ms4.hinet.net wrote:
> Tim Chase at 2016/1/11 UTC+8 11:16:27AM wrote:
> >   :nnoremap <expr> Q '?^'.repeat(' ',
> > (strlen(substitute(getline('.'), '\S.*', '',
> > ''))-&sw)).'\S?e'."\<cr>"
> 
> But, but... this line??? won't it goes too far for a human being to
> read?

Yes, it's a bit obscure.  But it's a mapping that creates a "Q"
command (feel free to map to whatever other key you have available),
so once you've created that mapping (you can put it in your vimrc),
all you have to remember is that "Q", not the whole messy string.

-tkc




[toc] | [prev] | [next] | [standalone]


#101460

FromRustom Mody <rustompmody@gmail.com>
Date2016-01-10 19:49 -0800
Message-ID<562ad3ae-5110-44f3-a4f1-4374ddde3ffb@googlegroups.com>
In reply to#101454
On Monday, January 11, 2016 at 7:30:10 AM UTC+5:30, jf...@ms4.hinet.net wrote:
> It lets you jump between the current cursor position and the line the upper level indentation start, something like the bracket matching in C editor. Because of Python use indentation as its code block mark, It might be helpful if we can jump between different level of it:-)
> 
> 
> --Jach Fong

Recent emacs' python  mode has all these bunch of python-nav-* functions.
You may have (as usual with emacs!) to choose which you like best, ie not all are not bound to keys.
----------------------------
Click on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
python-nav--beginning-of-defun 	python-nav--forward-defun
python-nav--forward-sexp 	python-nav--lisp-forward-sexp
python-nav--lisp-forward-sexp-safe 	python-nav--syntactically
python-nav--up-list 	python-nav-backward-block
python-nav-backward-defun 	python-nav-backward-sexp
python-nav-backward-sexp-safe 	python-nav-backward-statement
python-nav-backward-up-list 	python-nav-beginning-of-block
python-nav-beginning-of-defun 	python-nav-beginning-of-statement
python-nav-end-of-block 	python-nav-end-of-defun
python-nav-end-of-statement 	python-nav-forward-block
python-nav-forward-defun 	python-nav-forward-sexp
python-nav-forward-sexp-safe 	python-nav-forward-statement
python-nav-if-name-main 	python-nav-up-list

[toc] | [prev] | [next] | [standalone]


#101475

FromFrank Haun <fh@fhaun.de>
Date2016-01-11 11:54 +0000
Message-ID<86egdouy0c.fsf@m7008.fhaun.de>
In reply to#101460
On Sun, 10 Jan 2016 19:49:47 -0800 (PST), Rustom Mody wrote:

> On Monday, January 11, 2016 at 7:30:10 AM UTC+5:30, jf...@ms4.hinet.net wrote:
>> It lets you jump between the current cursor position and the line the
>> upper level indentation start, something like the bracket matching in
>> C editor. Because of Python use indentation as its code block mark,
>> It might be helpful if we can jump between different level of it:-)
>> 
>> 
>> --Jach Fong
>
> Recent emacs' python mode has all these bunch of python-nav-*
> functions.  You may have (as usual with emacs!) to choose which you
> like best, ie not all are not bound to keys.

Emacs is great for python editing. I use elpy-mode on top of emacs
python-mode. And company-mode for completion.

Frank

[toc] | [prev] | [next] | [standalone]


#101469

FromGordon Levi <gordon@address.invalid>
Date2016-01-11 19:40 +1100
Message-ID<h5p69b9laqtl54n4fgutoug0k5c1g0km99@4ax.com>
In reply to#101454
jfong@ms4.hinet.net wrote:

>It lets you jump between the current cursor position and the line the upper level indentation start, something like the bracket matching in C editor. Because of Python use indentation as its code block mark, It might be helpful if we can jump between different level of it:-)

Jetbrains Pycharm has "go to start of block" and "go to end of block"
commands <https://www.jetbrains.com/pycharm/>.

Unfortunately the free version of Pycharm does not support remote
debugging and my main use for Python is for programming a Raspberry
Pi. I use Visual Studio instead and its "go to end of block" does not
work in the Python editor
<https://www.visualstudio.com/en-us/features/python-vs.aspx>.

[toc] | [prev] | [next] | [standalone]


#101474

Fromjfong@ms4.hinet.net
Date2016-01-11 03:16 -0800
Message-ID<d58e59d6-6827-47b4-9fe0-6d1defae3364@googlegroups.com>
In reply to#101469
Gordon Levi at 2016/1/11 UTC+8 4:41:20PM wrote:
> Jetbrains Pycharm has "go to start of block" and "go to end of block"
> commands <https://www.jetbrains.com/pycharm/>.

Thanks, Gordon. But this seems only jump between the current code block's start and end, not to the code one level above:-(

--Jach

[toc] | [prev] | [next] | [standalone]


#102136

FromFabio Zadrozny <fabiofz@gmail.com>
Date2016-01-26 16:10 -0200
Message-ID<mailman.23.1453831875.2338.python-list@python.org>
In reply to#101469
On Mon, Jan 11, 2016 at 6:40 AM, Gordon Levi <gordon@address.invalid> wrote:

> jfong@ms4.hinet.net wrote:
>
> >It lets you jump between the current cursor position and the line the
> upper level indentation start, something like the bracket matching in C
> editor. Because of Python use indentation as its code block mark, It might
> be helpful if we can jump between different level of it:-)
>
> Jetbrains Pycharm has "go to start of block" and "go to end of block"
> commands <https://www.jetbrains.com/pycharm/>.
>
> Unfortunately the free version of Pycharm does not support remote
> debugging and my main use for Python is for programming a Raspberry
> Pi. I use Visual Studio instead and its "go to end of block" does not
> work in the Python editor
> <https://www.visualstudio.com/en-us/features/python-vs.aspx>.
> --


​Note that you can use Eclipse/ PyDev for remote debugging.​

[toc] | [prev] | [next] | [standalone]


#102135

FromFabio Zadrozny <fabiofz@gmail.com>
Date2016-01-26 16:09 -0200
Message-ID<mailman.22.1453831804.2338.python-list@python.org>
In reply to#101454
On Sun, Jan 10, 2016 at 11:59 PM, <jfong@ms4.hinet.net> wrote:

> It lets you jump between the current cursor position and the line the
> upper level indentation start, something like the bracket matching in C
> editor. Because of Python use indentation as its code block mark, It might
> be helpful if we can jump between different level of it:-)
>

​You can do this in Eclipse/PyDev by using the scope selector (​Shift + Alt
+ Up multiple times to select outer scopes and Shift + Alt + Down to
deselect) and then use left arrow to go to the start or right arrow to go
to the end (although if you're just navigating methods, you can do
Ctrl+Shift+Up / Down to select the previous/next method, which may be a bit
faster).

Best Regards,

Fabio​

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.lang.python


csiph-web