Vscode python类添加的实例的属性没有代码提示
比如有一个stu类
a=stu()
a.name='m'
a.age=12
name和age不是类的属性,是实例a添加的属性
没有提示!
怎么回事?
有没有好朋友解答一下,我看pycharm是可以的,而且pycharm的函数参数提示比vscode也要好,但是我不想换了,习惯vscode了
参考GPT和自己的思路:这个问题是由于VSCode对Python代码的代码提示存在一些限制导致的。VSCode的提示是基于代码的静态分析,并且不知道在运行时实例化的属性。因此,它无法为实例化对象的动态属性提供代码提示。但是,VSCode提供了一些扩展,如“Python Language Server”,可以提供更高级的代码提示和补全功能,你可以考虑安装它来提高你的开发效率。同时,VSCode的Python扩展也在不断改进,你可以关注更新版本以获得更好的功能。希望这个答复可以回答你的问题!
参考GPT和自己的思路:这个问题很可能与 VSCode Python 扩展的 IntelliSense 功能有关,即使您已经通过添加属性来创建实例,但 IntelliSense 仍然只能在类定义中查找属性。解决此问题的一种方法是使用类型提示,让 VSCode 可以识别实例属性并提供代码提示。 在您的代码中添加注释,如下所示:
class Stu:
name: str # 类型标注
age: int # 类型标注
a = Stu()
a.name = 'm' # 在a实例上添加name属性
a.age = 12 # 在a实例上添加age属性
这将使 VSCode 显示有关实例属性的代码提示,并可通过 IntelliSense 在 Python 代码中提供更好的自动完成和参数提示。希望这能帮助您解决问题!
这个我也遇到过,我当时在这篇文章找到的方法,我用的第一个,希望对你有帮助
https://blog.csdn.net/weixin_40922744/article/details/103216982
如果有帮助,请点击一下采纳该答案~谢谢