我使用universal-ctags在我的项目中定义的对象之间导航,它工作得很好。然而,我正在努力寻找如何将python内置对象和包依赖项包含到universal-ctags的范围中。在它的顶部,我使用了poetry(不是我的选择),它将依赖项定位在项目目录之外的其他地方。(如果我的项目是.
,则相关的python依赖项是../../../.cache/pypoetry/....
)
换句话说,我希望<C-]>在任何情况下都能工作,无论我是针对自定义Python对象,Python内置对象(join
,choice
,lru_cache
等...),依赖对象(来自Django的Model
,来自DRF的ViewSet
等...)
有没有办法指定universal-ctags来获取所有这些额外的引用?
谢谢!
我以为有一个选项存在,以添加路径,包括additionnal看看,但我没有找到任何关于这一点。
我在Debian 11上使用universal-ctags,vim和
1条答案
按热度按时间yc0p9oo01#
你可以缝在一起一个班轮这样做你。
正如romainl所评论的,您可以传递多个路径来生成单个标记文件。这就是答案。不过,我们可以加一些绒毛。
python标准库模块可以在
sys.path
中找到,例如/usr/lib/python3.9
在我的Debian盒子上。我假设这很少改变(只有当您升级Python安装时)。似乎不值得将其自动化。Poetry的virtualenv更不稳定,所以应该自动找到路径。根据this poetry issue中的信息,您可以使用
poetry show -v
获得virtualenv的路径(以及其他一些我们不关心的输出)。用一点bash glue把它放在一起,我们得到下面的一行程序:
您可能希望将其转换为一个shell脚本,并追加
"$@"
以传递其他选项。