首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS代码补全很糟糕,是我的设置吗?

VS代码补全很糟糕,是我的设置吗?
EN

Stack Overflow用户
提问于 2021-03-13 06:45:57
回答 1查看 896关注 0票数 1

VS Code中的代码完成和智能感知对我来说绝对是可怕的。在每一种语言中。我有安装和更新的扩展,但它总是绝对的垃圾。

代码语言:javascript
复制
import pandas as pd
data_all = pd.read_csv(DATA_FILE, header=None)
data_all. (press tab)

没有建议。

你真的不知道它是一个Pandas DataFrame对象吗?

我在python、ruby/rails中遇到过这个问题,几乎我尝试使用的每一种语言都是垃圾。我是否有一个扩展正在破坏其他扩展?code jsut有这么糟糕吗?为什么它如此莫名其妙地无用呢?

当前已安装:

abusaidm.html-s

代码语言:javascript
复制
nippets@0.2.1  
alefragnani.numbered-bookmarks@8.0.2  
bmewburn.vscode-intelephense-client@1.6.3  
bung87.rails@0.16.11  
bung87.vscode-gemfile@0.4.0  
castwide.solargraph@0.21.1  
CoenraadS.bracket-pair-colorizer@1.0.61  
donjayamanne.python-extension-pack@1.6.0  
ecmel.vscode-html-css@1.10.2  
felixfbecker.php-debug@1.14.9  
felixfbecker.php-intellisense@2.3.14  
felixfbecker.php-pack@1.0.2  
formulahendry.auto-close-tag@0.5.10  
golang.go@0.23.2  
groksrc.ruby@0.1.0  
k--kato.intellij-idea-keybindings@1.4.0  
KevinRose.vsc-python-indent@1.12.0  
Leopotam.csharpfixformat@0.0.84  
magicstack.MagicPython@1.1.0  
miguel-savignano.ruby-symbols@0.1.8  
ms-dotnettools.csharp@1.23.9  
ms-mssql.mssql@1.10.1  
ms-python.python@2021.2.636928669  
ms-python.vscode-pylance@2021.3.1  
ms-toolsai.jupyter@2021.3.619093157  
ms-vscode.cpptools@1.2.2  
rebornix.ruby@0.28.1  
sianglim.slim@0.1.2  
VisualStudioExptTeam.vscodeintellicode@1.2.11  
wingrunr21.vscode-ruby@0.28.0  
Zignd.html-css-class-completion

@1.20.0

EN

回答 1

Stack Overflow用户

发布于 2021-03-13 10:07:12

如果检查read_csv()方法的IntelliSense (通过将鼠标悬停在其上),您将看到它返回一个DataFrame对象

代码语言:javascript
复制
(function)
read_csv(reader: IO, sep: str = ...,

#Okay... very long definition but scroll to the end... 

 float_precision: str | None = ...) -> DataFrame

但如果您使用IntelliSense,请检查变量data_all

代码语言:javascript
复制
import pandas as pd
data_all = pd.read_csv(DATA_FILE, header=None)

它被列为python:Any中的默认数据类型。这就是为什么你的编译器没有生成自动补全。

因此,您只需显式地告诉编译器它实际上是一个DataFrame对象,如下所示。

代码语言:javascript
复制
import pandas as pd
from pandas.core.frame import DataFrame
DATA_FILE = "myfile"
data_all:DataFrame = pd.read_csv(DATA_FILE, header=None)
# Now all autocomplete options on data_all are available!

在您意识到read_csv()方法被许多定义重载,并且其中一些定义以Any类型返回对象之前,编译器为什么不能猜测本例中的数据类型,这似乎很奇怪。因此,除非另行指定,否则编译器会假定最坏的情况,并将其视为Any类型的对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66608210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档