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

Find in files directory selection does not load when long names in history #20903

Open jvendrig opened 1 year ago

jvendrig commented 1 year ago

Issue Report Checklist

Problem Description

Windows, launched from Anaconda Navigator.

The "Find in files" combobox to select the search directory does not load when

As a consequence it is not possible to select any search directory, and search is limited to whatever directory it is stuck in.

Note: when the path_history is empty/clean, there is no issue searching in these same directories while Spyder is active. The issue seems to occur only when these directories are committed to the ini.

Workarounds:

What steps reproduce the problem?

  1. Fresh start: spyder.ini, find_in_files, path_history = []
  2. In Find | Search in select a directory for which the string overflows the display in the combo box
  3. Perform the search (should work fine)
  4. Exit Spyder (so that spyder.ini, find_in_files, path_history = ['c:\directory\withlongname\thatyoujustselected'])
  5. Start Spyder

I first noticed this problem at a random time without knowingly restarting Spyder, but it's hard to reproduce.

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

Expected: Find | Search, Select a directory (new or from history) option Actual: no means to Select a directory (new or from history)

Paste Traceback/Error Below (if applicable)

Versions

Dependencies

# Mandatory:
atomicwrites >=1.2.0                             :  1.4.0 (OK)
chardet >=2.0.0                                  :  4.0.0 (OK)
cloudpickle >=0.5.0                              :  2.2.1 (OK)
cookiecutter >=1.6.0                             :  1.7.3 (OK)
diff_match_patch >=20181111                      :  20200713 (OK)
intervaltree >=3.0.2                             :  3.1.0 (OK)
IPython >=7.31.1,<9.0.0,!=8.8.0,!=8.9.0,!=8.10.0 :  8.12.0 (OK)
jedi >=0.17.2,<0.19.0                            :  0.18.1 (OK)
jellyfish >=0.7                                  :  0.9.0 (OK)
jsonschema >=3.2.0                               :  4.17.3 (OK)
keyring >=17.0.0                                 :  23.13.1 (OK)
nbconvert >=4.0                                  :  6.5.4 (OK)
numpydoc >=0.6.0                                 :  1.5.0 (OK)
paramiko >=2.4.0                                 :  2.8.1 (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.0 (OK)
pygments >=2.0                                   :  2.11.2 (OK)
pylint >=2.5.0,<3.0                              :  2.16.2 (OK)
pylint_venv >=2.1.1                              :  2.3.0 (OK)
pyls_spyder >=0.4.0                              :  0.4.0 (OK)
pylsp >=1.7.2,<1.8.0                             :  1.7.2 (OK)
pylsp_black >=1.2.0                              :  1.2.1 (OK)
qdarkstyle >=3.0.2,<3.2.0                        :  3.0.2 (OK)
qstylizer >=0.2.2                                :  0.2.2 (OK)
qtawesome >=1.2.1                                :  1.2.2 (OK)
qtconsole >=5.4.2,<5.5.0                         :  5.4.2 (OK)
qtpy >=2.1.0                                     :  2.2.0 (OK)
rtree >=0.9.7                                    :  1.0.1 (OK)
setuptools >=49.6.0                              :  66.0.0 (OK)
sphinx >=0.6.6                                   :  5.0.2 (OK)
spyder_kernels >=2.4.3,<2.5.0                    :  2.4.3 (OK)
textdistance >=4.2.0                             :  4.2.1 (OK)
three_merge >=0.1.1                              :  0.1.1 (OK)
watchdog >=0.10.3                                :  2.1.6 (OK)
zmq >=22.1.0                                     :  25.0.2 (OK)

# Optional:
cython >=0.21                                    :  None (NOK)
matplotlib >=3.0.0                               :  3.6.2 (OK)
numpy >=1.7                                      :  1.24.3 (OK)
pandas >=1.1.1                                   :  1.5.2 (OK)
scipy >=0.17.0                                   :  1.10.1 (OK)
sympy >=0.7.3                                    :  None (NOK)
jvendrig commented 1 year ago

Another workaround is to expand the pane horizontally such that the longest path fits in the combobox. It will then become available. However, there is another bug in Spyder that prevent expanding the pane in certain situations.

dalthviz commented 1 year ago

Hi @jvendrig thank you for the feedback and the issue description! I think I was able to reproduce it:

find

Will try to fix this in a future release :+1: