mon*_*ker 6 python pycharm visual-studio-code
我想要一个VS Code功能,例如Pycharm中的Find Usages,它可以找到一个变量的所有读和写。以一个简单的文件为例:
class Foo:
def __init__(self, bar):
self.bar = bar
def do_something(self):
bar1 = "hhhhh"
if bar1 == self.bar:
print("do something")
Run Code Online (Sandbox Code Playgroud)
在Pycharm中,使用以下内容的“查找用法” self.bar:
我已经尝试过“查找所有引用”,但是它不起作用:
因为它没有找到if bar1 == self.bar:。
更新:搜索只是出现不是我要的,因为它只匹配包含相同名称的其他变量以及注释中出现的关键字。
更新:原来是Microsoft python语言服务器中的一个已知问题:github.com/microsoft/python-language-server/issues/1174
小智 5
使用 Microsoft 的 pylance 语言服务(2020 年 7 月新增)时,“查找所有引用”功能在 VS Code 中运行良好https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance
右键单击符号,然后从上下文菜单中选择“查找所有引用”。这很有效,甚至可以找到工作空间内不同模块中引用的方法。
我的 python 扩展选项的用户设置为 false 时出现问题jediEnabled:
"python.jediEnabled": false,
Run Code Online (Sandbox Code Playgroud)
所以切换回默认值:
// Enables Jedi as IntelliSense engine instead of Microsoft Python Analysis Engine.
"python.jediEnabled": true,
Run Code Online (Sandbox Code Playgroud)
并且“查找所有引用”在示例中有效!
也许这是 Microsoft Python 分析引擎中的一个错误。