如何告诉RStudio自动完成我的功能';使用包名的参数?

如何告诉RStudio自动完成我的功能';使用包名的参数?,r,autocomplete,package,rstudio,r-infer,R,Autocomplete,Package,Rstudio,R Infer,此外,某些函数,如library()和require(),在完成时需要包名。RStudio自动推断特定函数是否需要包名,并提供这些名称作为完成 我的问题是:怎么做?我正在编写一个以包名为参数的自定义函数,但是RStudio只使用对象和函数名来完成参数,我无法说出RStudio所使用的library()和require()代码是什么 我的职能是: unpack <- function(..., lib = NULL,

此外,某些函数,如library()和require(),在完成时需要包名。RStudio自动推断特定函数是否需要包名,并提供这些名称作为完成

我的问题是:怎么做?我正在编写一个以包名为参数的自定义函数,但是RStudio只使用对象和函数名来完成参数,我无法说出RStudio所使用的
library()
require()
代码是什么

我的职能是:

unpack <- function(...,
                   lib   = NULL,
                   repos = getOption("repos")) {
  pkgs <- sapply(match.call(expand.dots = TRUE)[-1], as.character)
  new.pkgs <-
    pkgs[!(
      pkgs %in% installed.packages(lib.loc = lib)[, "Package"]
    )]
  if (length(new.pkgs))
    install.packages(new.pkgs,
                     lib   = lib,
                     repos = repos)
  sapply(pkgs, require,
         lib.loc = lib,
         character.only = TRUE)
}

unpack正如@hrbrmstr所指出的,Java和R代码都专门命名了四个使用包名自动完成的函数,因此解决方案是要么屏蔽其中一个并交叉手指,要么将函数名添加到这两个源文件中的列表中(我想可能只是R).

我最近创建了一个包,它几乎没有更多的自动完成功能(尽管完全是实验性的)(仅作为额外代码)

在这里可以看到

也许很快所有这些都将在RStudio中默认可用


检查

这里有相关的讨论(关于扩展RStudio的自动完成行为):,尽管在1.5年内没有明显的活动。@r2evans Ah-所以答案可能是RStudio只为名为
library
require
的函数编写了异常代码。我想我可以试着掩盖其中一个。。。哈哈,太好了,谢谢@hrbrmstr!不是我希望得到的答案,而是我需要的确切答案。实际上,我只是尝试了命名我的函数
,是的,效果很好。感觉非常不恰当,但当法律变得不公正时,正义者就变成了非法者。是的,掩盖职能,可能会出什么问题?