问题标签 [lintr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - lintr 键盘快捷键 rstudio
我在使用 R 包lintr时遇到问题
我安装了
一切正常,标记窗格出现在 RStudio 中,我可以像这样“整理”R 文件
现在输入这个很不方便,所以最好有一个键盘快捷键,GitHub 包描述只是描述了这个:
这个包还包括两个用于检查当前源和包的插件。要将插件绑定到键盘快捷键,请导航至工具 > 插件 > 浏览插件 > 键盘快捷键。
但这对我不起作用。Lintr 只是没有出现在插件下。所以我不能添加快捷方式。
可能是什么原因?我的 RStudio 版本是 1.1.463 版 - 最新版本...
r - 从 `.` `data.table` 导入,以便 lintr 识别它
在使用的 R 函数上运行lintrdata.table
时,我收到以下警告:
我认为一个简单的解决方法是添加importFrom data.table .
. 我也尝试用反引号引用点,但它似乎并没有被导出。解决此错误的推荐方法是什么?
我可以添加该行
在某个地方,但我没有让它起作用,而且它很hacky。
r - lintr 测试通过 devtools::check() 并通过 devtools::test() 失败
我正在编写一个带有以下 lint 测试的 R 包:
测试通过 `devtools::check():
并且无绒测试失败devtools::test()
:
问题是 Github 和 Travis 被设置为拒绝测试失败的拉取请求,如果我在devtools::test()
之后运行devtools::check()
,所有其他测试都会运行两次。
我怎样才能devtools::check()
运行lintr
测试?
r - .Renviron 被 globalVariables 覆盖
假设我的包中有一个函数
在我的.Renviron
我有设置_R_CHECK_CODETOOLS_PROFILE_="suppressUndefined=TRUE"
。这将确保在codetools
运行包时R CMD check
,它不会返回任何警告,例如
但是,如果我定义了一些全局变量,例如
在我的包文档中,会将所有变量R CMD check
标识为未绑定。就好像该函数正在覆盖我的文件中的选项。globalVariables()
"suppressUndefined=TRUE"
.Renviron
我的问题是为什么会这样?有关更多上下文,请继续阅读。
似乎有两个“简单”的解决方案:
- 不要在我的
package.R
文件中定义任何变量,并允许codetools
选择处理所有变量。 - 在函数中定义所有全局变量
globalVariables()
,不要使用该codetools
选项。
不幸的是,如果您想使用该lintr
包,则第一个选项不是很好,因为lintr
仅检查该mpg_div_hp := mpg / hp
部分功能的 RHS。所以在函数"mpg"
中包含变量是我遇到这个问题的原因。当然我可以使用 的选项,但这感觉并不令人满意。第二个选项需要一个大于 1000 个变量的向量,这感觉不是一个好的解决方案。"hp"
globalVariables
object_usage_linter=NULL
lintr
r - 如何在 tic.R 中添加非失败的 lintr 检查
我想lintr
通过tic
.
(最初我实现了这种testthat
方法,但它对开发来说太麻烦了。)
该lintr
文档提供了一个示例.travis.yml
我(天真地)在我tic.R
的 as
但这不起作用,并且 lintr-bot 没有对我的 PR发表评论,这与该testthat
方法不同。
我想问题在于缺少tic.R
实现
如果确实是问题,我不知道该怎么做,所以任何提示/帮助都受到高度赞赏和欢迎!
r - object_usage_linter 标记错误的行,没有可见的绑定消息
考虑以下代码片段(末尾的注释表示行号,不是问题的一部分):
当我lint
通过这个文件时, lintr:::addin_lint()
我收到以下奇怪的错误:
但是,如果我删除行#5
并且#6
我不再有错误:
linting 此文件时没有错误。
问题
- 这是故意行为还是存在错误
lintr
? - 鉴于
lintr
抱怨行号中的片段#13
而不是行号,为什么行号错误#6
?
r - 发生 R linting 问题时如何使 azure devops 构建失败
我在 R 中使用 lintr 库来查找代码中的 linting 问题。我把它们变成这样的xml格式:
现在,当出现此类问题时,我想使 Azure devops 构建失败。
我能够以这样的 JUnit 格式进行测试:
当我在 azure 管道中执行此步骤时,如果测试套件中的任何测试失败,我的构建将失败:
当出现 linting 问题时,我想要类似的东西来使构建失败。我还希望用户查看构建输出中的这些 linting 问题。谢谢
r - .lintr 配置文件在哪里?
R 包 lintr检查文件是否存在“lint”(错误或样式违规)。它可以用一个.lintr
文件来配置。该文件可以在哪里找到?我希望把它放在我的 git repo 的顶部,但是当我在 RStudio 中运行时,这似乎不起作用。
注意:RStudio 项目位于 git repo 的顶层之下。也许这意味着 RStudio 中的 lintr 不会在父目录中查找?那么正确的做法是什么?将其软链接到项目目录中?
编辑:重现:
- 从名为的目录在 RStudio 中创建一个项目
proj1
- 制作一个
foo.R
包含 lint 违规的文件:a=1
lintr::lint('foo.R')
在 RStudio 控制台中运行以查看 lint 错误- 制作一个 .lintr
proj1
来关闭 lintr:exclusions: ('foo.R')
- 在 RStudio 控制台中运行
lintr::lint('foo.R')
以查看错误消失 - 将 .lintr 上移一个目录(在项目之外,但在父目录中)
- 在 RStudio 控制台中运行
lintr::lint('foo.R')
以查看返回的 lint 问题
编辑 2:我最终在我需要的每个目录中软链接了顶级 .lintr。
仅供参考,我的 lintr 版本是1.0.3
,R 版本是 3.5.2。
r - lintr 无法在 RStudio 中加载
我无法让 lintr 在 RStudio 中工作。任何建议表示赞赏。我相信我已经更新了一切。(对于上下文,我是一个新手。我当然可以做一些愚蠢的事情。)这是发生在我身上的事情: