spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.22k stars 1.59k forks source link

"Go to new line" keyboard shortcut ignores indentation #14746

Open eode opened 3 years ago

eode commented 3 years ago

Issue Report Checklist

Problem Description

When using "Go to new line" keyboard shortcut (ctrl+shift+return by default), indentation is ignored. It would be nice if it used indentation as normal (as if one had hit end and then return).

What steps reproduce the problem?

  1. Go to a place in code where indentation would typically occur -- e.g., after def foo():
  2. Hit ctrl+shift+enter anywhere on the line
  3. Observe the position of the cursor, which is at the beginning of the line, rather than at the beginning of the scope depth.

What is the expected output? What do you see instead?

I expect it to behave contextually to the scope it is in, as when one hits 'enter'. Instead, the cursor is at the beginning of the line in every case.

Potentially, there could be an editor configuration option to turn on/off this behavior.

Paste Traceback/Error Below (if applicable)

n/a

Versions

Dependencies


# Mandatory:
atomicwrites >=1.2.0            :  1.4.0 (OK)
chardet >=2.0.0                 :  4.0.0 (OK)
cloudpickle >=0.5.0             :  1.6.0 (OK)
diff_match_patch >=20181111     :  20200713 (OK)
intervaltree >=3.0.2            :  3.1.0 (OK)
IPython >=7.6.0                 :  7.20.0 (OK)
jedi =0.17.2                    :  0.17.2 (OK)
jsonschema >=3.2.0              :  3.2.0 (OK)
keyring >=17.0.0                :  22.0.1 (OK)
nbconvert >=4.0                 :  6.0.7 (OK)
numpydoc >=0.6.0                :  1.1.0 (OK)
parso =0.7.0                    :  0.7.0 (OK)
pexpect >=4.4.0                 :  4.8.0 (OK)
pickleshare >=0.4               :  0.7.5 (OK)
psutil >=5.3                    :  5.8.0 (OK)
pygments >=2.0                  :  2.7.4 (OK)
pylint >=1.0                    :  2.6.0 (OK)
pyls >=0.36.2;<1.0.0            :  0.36.2 (OK)
pyls_black >=0.4.6              :  0.4.6 (OK)
pyls_spyder >=0.3.0             :  0.3.0 (OK)
qdarkstyle >=2.8                :  2.8.1 (OK)
qtawesome >=0.5.7               :  1.0.1 (OK)
qtconsole >=5.0.1               :  5.0.2 (OK)
qtpy >=1.5.0                    :  1.9.0 (OK)
rtree >=0.8.3                   :  0.9.4 (OK)
setuptools >=39.0.0             :  52.0.0.post20210125 (OK)
sphinx >=0.6.6                  :  3.4.3 (OK)
spyder_kernels >=1.10.1;<1.11.0 :  1.10.1 (OK)
textdistance >=4.2.0            :  4.2.1 (OK)
three_merge >=0.1.1             :  0.1.1 (OK)
watchdog >=0.10.3               :  1.0.2 (OK)
xdg >=0.26                      :  0.27 (OK)
zmq >=17                        :  20.0.0 (OK)

# Optional:
cython >=0.21                   :  None (NOK)
matplotlib >=2.0.0              :  None (NOK)
numpy >=1.7                     :  1.20.1 (OK)
pandas >=1.1.1                  :  1.2.2 (OK)
scipy >=0.17.0                  :  None (NOK)
sympy >=0.7.3                   :  None (NOK)
steff456 commented 3 years ago

Hi @eode,

Thanks for reporting this, it is an interesting enhancement. Right now all the Spyder team is working in Spyder 5 release, so we are unable to work in this for the moment. If you are interested in helping us add this behavior to Spyder please let us know so we can give you guidance to contribute :)