在 PyCharm 中更改 "find usages" 的默认范围

Change default scope for "find usages" in PyCharm

我的 PyCharm 的“Find Usages”范围不知何故发生了变化,现在它只在“Scratches and Consoles”中搜索。

以前是输入⌘B,PyCharm会跳转到对象的定义或用法

但现在我看到这个弹出窗口说 usages are out of scope 'Scratches and Consoles',我必须按 ⌥⌘F7 才能在项目文件中搜索。

我尝试单击设置扳手并更改范围,但它没有持续存在。

有许多未记录的规则,只能通过尝试来验证:

  1. 如果你有 2 个 PyCharm windows 打开(意味着 2 个不同的项目同时在 2 个不同的 windows 中打开)你只能有 1 个设置对话框(Ctrl + Alt + Shift + F7⌥⌘F7 on Mac) 同时打开。这意味着如果您在一个 window 中更改设置,而另一个 window 中的对话框打开,则两个 windows.

    中的相同设置也会更改
  2. 如果您只在 1 window 中打开上述设置对话框,则可以为两者选择不同的设置 windows。

现在回答问题,

  1. 如果您关闭当前 window,您选择的最后一个查找设置将被保存,并且当您稍后重新打开该 window/project 并用于搜索时,它将继续存在。 但是 有一个例外,如果您在关闭 window 之前的最后一个设置是 saved costum scope 那么当您重新打开 window 搜索设置时将恢复为默认值。

    这里有 1 个重要的微妙之处,在重新打开 window 之后,如果您尝试“查找用法”(Alt + F7⌥⌘F7) 搜索确实会使用您关闭 window 之前的最后设置(您可以在搜索标题 window 中看到它)。但是,如果您再次按 (Ctrl + Alt + Shift + F7⌥⌘F7 on Mac) 或查找中的齿轮设置,您将看到的设置大多数时候是默认设置(有时不是,但这种行为并不明显一致)。

    意思是,在您重新打开 IDE.

    后,下面对话框中首先显示的设置并不总是一致的

  2. 您描述的问题应该不是问题。如果您关闭 window 设置应该会保留。如果您尝试再次打开设置,大多数时候您会看到默认设置(在重新打开 window 之后),或者如果您在打开 window.

    后更改设置,则会看到您最后的选择。

    但是,无法更改默认设置(这可能是为了防止没有经验的用户配置难以恢复的 IDE 默认搜索设置)。这意味着您第一次打开 IDE 如果设置没有自动恢复为默认设置,您将不得不手动设置一次,但仅此一次。

(在这些情况下,使缓存失效通常是一个不错的选择,如果缓存变得陈旧,您可能会开始在搜索中出现莫名其妙的结果。)