问题描述
与图书馆合作时,熊猫遇到了这样的事实,即VS Code不能总是应付建议的显示。更具体地说,当直接从其类创建DataFrame对象时,IntelliSense建议自动完成而不会出现问题。
read_excel
之类的方法创建对象时,IntelliSense不会显示该对象的自动完成建议。
解决方法
您要问的与“类型推断”有关。 IDE可以从函数的工作原理或先前分配给变量的内容中推断出函数结果或变量的类型。但是,由于Python不是静态类型的语言,所以这并不总是那么容易,并且需要在IDE的某些部分上进行一些简单的工作,而在复杂的情况下则需要进行很多工作,这解释了您所看到的差异。由于PyCharm是非常成熟的专用Python IDE,因此它比VSCode(后者具有自己的不同优势)做得更好。
如果这是关于您自己的代码的,那么一种解决方案是在代码中包括类型提示,以帮助IDE确定应将哪种类型输入或输出。但是,由于这是关于第三方库的,因此您可以提交请求,他们添加类型提示并等待,或者尝试弄清楚导致VSCode在此代码上失去大理石的代码是什么。
如果您发现了具体问题是什么,并不是没有可能在这里改善VSCode的行为的方法,但是很有可能需要更改代码。解决方案的编写方式也很可能无法确定性地推断类型(这是IDE所处理的)。考虑将类型声明添加到保存结果的变量中,以使自动完成(以及一些警告和错误检查)更好地工作。