【问题标题】:How to get the func prototype after selecting the func via omnicppcomplete?通过omnicppcomplete选择func后如何获取func原型?
【发布时间】:2010-10-27 00:09:18
【问题描述】:

有没有办法让vim在通过omnifunc选择函数后粘贴函数的参数(或者至少在选择它之后显示它,但不是之前)?比如:

myObject.play(int time, std::string foo)

也许甚至可以让您通过参数选项卡(例如那些 sn-ps 插件允许您执行的操作)。

有这样的插件或功能吗?我认为这非常有用。

顺便说一句,omnifunc 的预览选项很慢,选择功能后不会显示。

【问题讨论】:

标签: vim autocomplete omnicomplete omnicppcomplete


【解决方案1】:

试试code_complete

它使用 ctags 来完成函数签名,并允许您循环浏览参数列表。它也可以完成其他东西——标准头文件、for()/switch() 块等。

【讨论】:

    【解决方案2】:

    您可以从 vim 网站获取snippetsEMU plugin,然后为该函数设置一个自定义 sn-p,如下所示:

    :Snippet play myObject.play(int <{time}>, <{std::string}> <{foo}>)<{}>
    这样,您所要做的就是键入 play 并按 tab 键以使其展开,花括号将允许您通过 args 进行 tab 键。希望这就是你要找的...

    【讨论】:

    • 谢谢,但我有一个庞大的代码库,继续为每个函数创建 sn-ps 是不现实的。
    • @emergence:可能可以在代码库上使用 ctags(或类似的东西),然后使用一些脚本调整输出以创建必要的 sn-ps。但我没有经验 sn-psEMU 插件如何处理数千个这样的 sn-ps,我希望从大型代码库中获得...
    • 我发现这个newsgroups.derkeiler.com/Archive/Comp/comp.editors/2008-03/… 可能可以帮助你。让我知道。干杯
    猜你喜欢
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多