gmpy2与一些python库在vscode下没有自动补全的一种缓解方案

这篇具有很好参考价值的文章主要介绍了gmpy2与一些python库在vscode下没有自动补全的一种缓解方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

经过一定的研究,该问题的原因初步判断是gmpy2这个库天生没有把补全的函数doc说明附在pip包中。且因gmpy2是由C编译而来,以dll或so的形式作为动态链接库给python调用,这意味着无法从源码薅到可用的源码注释。
接下来先讲解决方案,再简单进行问题分析说明。

解决方案:

省流:从pycharm的python stubs文件里薅一份gmpy2.py塞到本地gmpy2目录下
1. 找到pycharm的gmpy2文档文件
在pycharm安装gmpy2后,任意使用gmpy2函数如图:

import gmpy2
gmpy2.invert()

gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
可见pycharm拥有对gmpy2的定义。
这里右键通过搜寻定义找到文档文件与其目录,如图:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
在这里,我们就得到了一份gmpy2.py的源码注释文件。
2. 找到本地gmpy2路径
接下来打开本地环境的gmpy2文件夹
linux一般在usr/local/lib/pythonxx/dist_packages路径下,可通过pip install 快速定位,如图:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
成功导入后在vscode中查看:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全

问题分析:

pip库对比

import个opencv库,vscode能很顺利地得到函数注释并进行补全,可见不是环境问题对三方库不识别:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
右键能跳转到定义文件:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
那么对比下同目录的cv2库和gmpy2库。
cv2:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
gmpy2(这里的gmpy2是后加的):gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
可见cv2这个库多了相当多详细的py格式的声明文件,这个不再举例。
查看二者共有的__init__.py文件:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
可见gmpy2的这方面简直烂完了

查看源码和官网

很容易发现,官网是有一份完整的gmpy2函数文档的。因此还是有希望能让vscode好好对其完成自动补全。而在官网中进行信息搜集,也容易找到源码仓库:
源码仓库
但放眼一看,全是c呀:
gmpy2与一些python库在vscode下没有自动补全的一种缓解方案,编程,vscode,gmpy2,python,pycharm,补全
且结合之前找到的库目录,gmpy2实际上是以链接库的形式提供调用。那么这就很难办了。

在pycharm发现新的突破口

这时其实就有点僵硬,自动补全和函数注释还是有点关键的,没有它万万不可。
接着我想到机子里还有个pycharm,我便想试试pycharm有没有什么奇妙配置能对这个gmpy2进行自动补全的分析。没想到还真能,自带的。
于是我想通过定义跳转找到相关的文档文件,因为如果文件是以py等格式存在的话,就有可能直接放入本地的库目录中,被vscode解析。再换句话说——要是pycharm使用的pip源不同,直接拥有gmpy的函数注释,岂不美哉?
于是就在python stubs目录下找到了相关文件=w=。再一搜,python stubs似乎是pycharm主推的一种注释和补全体系。知道了这点,以后在相似情况下都试一下从pycharm移植了。文章来源地址https://www.toymoban.com/news/detail-807191.html

到了这里,关于gmpy2与一些python库在vscode下没有自动补全的一种缓解方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity+vscode 自动补全代码

    踩了很多坑,记录一下 1.Edit-Preference-External tools-External Script Editor 里面选vscode的.exe文件,下面的框框全点上 2.双击unity里的script文件,就会直接跳转到vscode 3.在vscode里面下插件(c#),网上还有其他一些插件也可以用 4.安装.NET SDK,然后在文件-首选项- 设置-搜索 use - 勾选Omnis

    2024年02月11日
    浏览(56)
  • VSCode如何自动补全JavaScript代码

    在使用Visual Studio Code(以下简称VSCode)进行JavaScript开发时,自动补全功能是一项非常有用的功能。它可以帮助开发人员更快速地编写代码,减少拼写错误和语法错误的出现。本文将介绍如何在VSCode中启用和使用自动补全功能。 安装JavaScript插件 在开始之前,你需要确保已经安

    2024年02月03日
    浏览(56)
  • VScode 避免逗号、括号时自动补全

    控制是否应在遇到提交字符时接受建议。例如,在JavaScript中,半角分号(;)可以为提交字符,能够在接受建议的同时键入该字符。 比如打伪代码的时候输入一些缺少上下文的,会被vscode认为需要进行补全。于是各种逗号括号都在拼命补全一些莫名其妙的,弄得人

    2024年02月15日
    浏览(90)
  • VScode不能自动提示补全C代码

    之前使用source insight来编辑C代码,但是现在由于版权问题,公司不再允许使用,所以更换成免费的VScode。 VScode其实功能很强大,基本功能不亚于source insight,再辅以强大丰富的插件,可以说是一款非常好的代码编辑软件。 刚开始使用VScode发现一个很恼人的问题,就是很多代码

    2024年02月14日
    浏览(42)
  • vscode vue3自定义自动补全

    敲代码多了,发现重发动作很多,于是还是定义自动补全代码吧——懒是第一生产力! 1,Ctrl + Shift + P打开快捷命令行 :找到下面这个 2,然后找到ts:  里面给了demo照着写就行   然后重复上面的步骤 不选ts,选vue: ,后续继续添加

    2024年02月11日
    浏览(45)
  • vscode写vue时突然不会自动补全?可能是插件失效了!

    看一下自己vscode中的插件吧 有可能是最近刚更新过插件,导致插件失效了,以我遇到的情况来说: 我使用的插件是 TypeScript Vue Plugin (Volar) 和 Vue Language Features (Volar) 但是他们两有一个故障了,结果就是无法正常使用了,如果你也使用的Volar插件那么可以参考接下来的文章 Volar插件可

    2024年02月03日
    浏览(66)
  • Aws Toolkit 自动补全代码插件,并如何在vscode中 安装,使用

    1、Aws Toolkit 简介:自动生成代码插件(类似于copilot) AWS Toolkit是亚马逊推出的一款插件,能够帮助用户快速开发、调试和部署基于Amazon Web Services的应用。它为开发者提供了一个集成开发环境(IDE),可用于在IDE中直接访问AWS服务。AWS Toolkit支持多种主流的IDE,包括Visual Stu

    2024年02月07日
    浏览(54)
  • Go使用vscode开发,必备的插件及最常用快捷键和代码自动补全

    为进行Markdown文档编写提供很多快捷键和自动补全功能,使vscode可以完全代替Typora。 边写边看到Markdown渲染之后的样子,在 Preview 界面按住鼠标右键可以打开功能栏,选择Open in Browser可以将文件在浏览器打开,还可以选择生成HTML或者PDF等。 在Markdown中快捷插入图片,复制图片

    2024年03月10日
    浏览(98)
  • Git使用篇:Mac&Window---Vscode 终端命令行显示分支名和Tab自动补全

    ###:mac终端美化 https://www.jianshu.com/p/fd457aaee3e7 配置地址 终端改成git window终端美化 setting.json修改这个

    2024年02月11日
    浏览(41)
  • 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)

    需求: 1)偶尔需要查英文生词; 2)有时候想不起来中文对应的英文; 3)不想回到浏览器打开一堆网页; 4)谷歌翻译挂了。 偶尔需要的需求: 1)短句翻译。 因为谷歌翻译挂了,首先,排除最热门的翻译插件Vscode Google Translate,以及一系列衍生产品。 由于搜索“translate”

    2023年04月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包