ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

vscode python 跳转

2022-05-27 21:04:13  阅读:240  来源: 互联网

标签:插件 Code vscode Pylance python Jedi VS 跳转


经过一番查阅资料,了解到这样一组介绍:

Jedi 是一个可以在 IDEs 或者编辑器中使用的 Python 代码自动补齐和静态分析工具。它的历史重点是自动完成,但现在也进行静态分析。 Jedi 好用并且快速, 可以搜索相关的名称并列出 Python 文件中的所有名称并推断它们。 Jedi 理解 docstrings,你也可以在你的 REPL 中使用 Jedi 自动补齐完成。

虽然这段话一看就是机器翻译的英语介绍,但仍能从中get到Jedi的主体功能​:代码自动补全+名称关联和推断​。具体到VS Code中,​Jedi是如果产生作用的呢?这就不得不从VS Code安装Python插件后的一组设置说起​。正常情况下,VS Code中完成Python插件安装后,会自动在settings.json中增加这样一条设置​:

"python.languageServer": "Jedi"

表示python的语言服务器选用Jedi​。那么python的语言服务器又是指代的什么呢?除了Jedi还有哪些可选呢?经过了解,除了Jedi之外,该设置还有Microsoft、None以及Pylance等选项​。

所以打开settings.json设置文件,打开方法为在VS Code中键入ctrl+shift+P全局快捷键,打开命令搜索窗,输入settings.json​即可打开首选项。

打开发现该设置文件中并无此项(推断可能是设置为None),所以直接导致无法实现"转到定义"​功能​。于是,在json文件中手动加入上述配置代码​:

 "python.languageServer": "Jedi"

保存后,VS Code提示reload,而后​再重新回到python源文件中,那个熟悉的带有F12功能的右键菜单回来​了。

经过尝试,发现将python语言服务器分别设置为Microsoft和None时,均存在该问题,即没有转到定义选项,而设置Jedi时则​功能正常。

03 更好的选择——Pylance

就在我反复测试之余,不仅解决了问题还能举一反三,这时VS Code​居然给我这样的提示:

即建议尝试一个基于Microsoft的速度更快、功能更为丰富的python语言服务器​——Pylance。ok,​那就Try it now。很快完成了插件安装,并再次reload,奇迹出现:不仅支持F12功能,还讲源码中的包名和类名的关键字进行颜色区分显示,真的是实力与颜值俱在​!

当然,此时已自动将settings.json中python语言服务器设置为Pylance:

"python.languageServer": "Pylance"

详细查看该插件,看到介绍中介绍了其主要特性,而后,在里面尝试敲了几句代码,发现在Pylance插件的作用下,VS Code竟变得如丝般顺滑​!微软诚不可欺我,果真是一款良心插件。

搜索了这款插件的风评,居然一致认为是微软Python团队的良心插件,发布于2020年6月,只是自己未曾了解而已。赞!
 

标签:插件,Code,vscode,Pylance,python,Jedi,VS,跳转
来源: https://www.cnblogs.com/skying555/p/16319073.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有