如何告诉RStudio自动完成我的功能';使用包名的参数?
此外,某些函数,如library()和require(),在完成时需要包名。RStudio自动推断特定函数是否需要包名,并提供这些名称作为完成 我的问题是:怎么做?我正在编写一个以包名为参数的自定义函数,但是RStudio只使用对象和函数名来完成参数,我无法说出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()
代码是什么
我的职能是:
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!不是我希望得到的答案,而是我需要的确切答案。实际上,我只是尝试了命名我的函数库
,是的,效果很好。感觉非常不恰当,但当法律变得不公正时,正义者就变成了非法者。是的,掩盖职能,可能会出什么问题?