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

Indent guides do not appear after restart until window loses focus or file is reopened #20380

Open juliangilbey opened 1 year ago

juliangilbey commented 1 year ago

Issue Report Checklist

Problem Description

Spyder stops showing indent guides after restart. This was reported by a Debian user, reported at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028637 and I have successfully reproduced the behaviour.

What steps reproduce the problem?

Our user wrote:

  1. Start with a clean Spyder profile, that is, remove the /home/<user>/.config/spyder-py3 dir, if it exists
  2. Start Spyder
  3. Open the following file /usr/lib/python3.10/subprocess.py
  4. Goto Menu > Source and enable the following: [x] Show indent guides [x] Show selector for classes and functions (this is actually irrelevant) [x] Underline errors and warnings (this is actually irrelevant)
  5. Indent guides are properly shown
  6. Shut down Spyder
  7. Restart Spyder, go to tab with /usr/lib/python3.10/subprocess.py: the indent guides are not shown.

The Debian user added: "If I close the tab with "/usr/lib/python3.10/subprocess.py" file an then reopen the file again in a new tab then the indent guides will be shown again properly (until Spyder is restarted again, then they will disappear again)."

I further discovered that if the Spyder window loses focus and then regains the focus, the indent guides are then shown.

Versions

Dependencies

# Mandatory:
atomicwrites >=1.2.0                 :  1.4.1 (OK)
chardet >=2.0.0                      :  5.1.0 (OK)
cloudpickle >=0.5.0                  :  2.2.0 (OK)
cookiecutter >=1.6.0                 :  1.7.3 (OK)
diff_match_patch >=20181111          :  20200713 (OK)
intervaltree >=3.0.2                 :  3.0.2 (OK)
IPython >=7.31.1;<9.0.0              :  8.5.0 (OK)
jedi >=0.17.2;<0.19.0                :  0.18.2 (OK)
jellyfish >=0.7                      :  0.8.9 (OK)
jsonschema >=3.2.0                   :  4.9.1 (OK)
keyring >=17.0.0                     :  23.9.3 (OK)
nbconvert >=4.0                      :  6.5.3 (OK)
numpydoc >=0.6.0                     :  1.5.0 (OK)
parso >=0.7.0;<0.9.0                 :  0.8.3 (OK)
pexpect >=4.4.0                      :  4.8.0 (OK)
pickleshare >=0.4                    :  0.7.5 (OK)
psutil >=5.3                         :  5.9.4 (OK)
pygments >=2.0                       :  2.13.0 (OK)
pylint >=2.5.0;<3.0                  :  2.15.9 (OK)
pylint_venv >=2.1.1                  :  2.3.0 (OK)
pyls_spyder >=0.4.0                  :  0.4.0 (OK)
pylsp >=1.7.0;<1.8.0                 :  1.7.0 (OK)
pylsp_black >=1.2.0                  :  1.2.1 (OK)
qdarkstyle >=3.0.2;<3.2.0            :  3.1 (OK)
qstylizer >=0.2.2                    :  0.2.2 (OK)
qtawesome >=1.2.1                    :  1.2.1 (OK)
qtconsole >=5.4.0;<5.5.0             :  5.4.0 (OK)
qtpy >=2.1.0                         :  2.3.0 (OK)
rtree >=0.9.7                        :  1.0.1 (OK)
setuptools >=49.6.0                  :  65.5.0 (OK)
sphinx >=0.6.6                       :  5.3.0 (OK)
spyder_kernels >=2.4.1;<2.5.0        :  2.4.1 (OK)
textdistance >=4.2.0                 :  4.5.0 (OK)
three_merge >=0.1.1                  :  0.1.1 (OK)
watchdog >=0.10.3                    :  2.1.9 (OK)
xdg >=0.26                           :  0.28 (OK)
zmq >=22.1.0                         :  24.0.1 (OK)

# Optional:
cython >=0.21                        :  0.29.32 (OK)
matplotlib >=3.0.0                   :  3.6.2 (OK)
numpy >=1.7                          :  1.23.5 (OK)
pandas >=1.1.1                       :  1.3.5 (OK)
scipy >=0.17.0                       :  1.8.1 (OK)
sympy >=0.7.3                        :  1.11.1 (OK)

# Spyder plugins:
spyder_unittest.unittestplugin 0.5.1 :  0.5.1 (OK)
juliangilbey commented 1 year ago

A little follow-up to this: please take a look at the discussion in the Debian bug report referenced above.

ccordoba12 commented 1 year ago

Hey @juliangilbey, thanks for reporting. Indent guides have not been very well tested (that's why they are not enabled by default), so I'm not surprised by this behavior.

We'll try to take a look at this in a future release (can't say when exactly, sorry).

RemiDav commented 5 months ago

Any update? While not essential, it would make it very convenient. Still happening with 5.5.1

ccordoba12 commented 5 months ago

I did some improvements to folding and indent guides that will land in Spyder 6. But more work still remains to be done, so I'm marking this for 6.1.