问题标签 [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.

0 投票
1 回答
440 浏览

r - lintr 键盘快捷键 rstudio

我在使用 R 包lintr时遇到问题

我安装了

一切正常,标记窗格出现在 RStudio 中,我可以像这样“整理”R 文件

现在输入这个很不方便,所以最好有一个键盘快捷键,GitHub 包描述只是描述了这个:

这个包还包括两个用于检查当前源和包的插件。要将插件绑定到键盘快捷键,请导航至工具 > 插件 > 浏览插件 > 键盘快捷键。

但这对我不起作用。Lintr 只是没有出现在插件下。所以我不能添加快捷方式。

可能是什么原因?我的 RStudio 版本是 1.1.463 版 - 最新版本...

0 投票
1 回答
279 浏览

r - 从 `.` `data.table` 导入,以便 lintr 识别它

在使用的 R 函数上运行lintrdata.table时,我收到以下警告:

我认为一个简单的解决方法是添加importFrom data.table .. 我也尝试用反引号引用点,但它似乎并没有被导出。解决此错误的推荐方法是什么?

我可以添加该行

在某个地方,但我没有让它起作用,而且它很hacky。

0 投票
1 回答
220 浏览

r - lintr 测试通过 devtools::check() 并通过 devtools::test() 失败

我正在编写一个带有以下 lint 测试的 R 包:

测试通过 `devtools::check():

并且无绒测试失败devtools::test()

问题是 Github 和 Travis 被设置为拒绝测试失败的拉取请求,如果我在devtools::test()之后运行devtools::check(),所有其他测试都会运行两次。

我怎样才能devtools::check()运行lintr测试?

0 投票
0 回答
114 浏览

r - .Renviron 被 globalVariables 覆盖

假设我的包中有一个函数

在我的.Renviron我有设置_R_CHECK_CODETOOLS_PROFILE_="suppressUndefined=TRUE"。这将确保在codetools运行包时R CMD check,它不会返回任何警告,例如

但是,如果我定义了一些全局变量,例如

在我的包文档中,会将所有变量R CMD check标识为未绑定。就好像该函数正在覆盖我的文件中的选项。globalVariables()"suppressUndefined=TRUE".Renviron

我的问题是为什么会这样?有关更多上下文,请继续阅读。

似乎有两个“简单”的解决方案:

  1. 不要在我的package.R文件中定义任何变量,并允许codetools选择处理所有变量。
  2. 在函数中定义所有全局变量globalVariables(),不要使用该codetools选项。

不幸的是,如果您想使用该lintr包,则第一个选项不是很好,因为lintr仅检查该mpg_div_hp := mpg / hp部分功能的 RHS。所以在函数"mpg"中包含变量是我遇到这个问题的原因。当然我可以使用 的选项,但这感觉并不令人满意。第二个选项需要一个大于 1000 个变量的向量,这感觉不是一个好的解决方案。"hp"globalVariablesobject_usage_linter=NULLlintr

0 投票
0 回答
94 浏览

r - 如何在 tic.R 中添加非失败的 lintr 检查

我想lintr通过tic.

(最初我实现了这种testthat方法,但它对开发来说太麻烦了。)

lintr文档提供了一个示例.travis.yml

我(天真地)在我tic.R的 as

但这不起作用,并且 lintr-bot 没有对我的 PR发表评论,这与该testthat方法不同。

我想问题在于缺少tic.R实现

如果确实是问题,我不知道该怎么做,所以任何提示/帮助都受到高度赞赏和欢迎!

0 投票
0 回答
79 浏览

r - object_usage_linter 标记错误的行,没有可见的绑定消息

考虑以下代码片段(末尾的注释表示行号,不是问题的一部分):

当我lint通过这个文件时, lintr:::addin_lint()我收到以下奇怪的错误:

但是,如果我删除#5并且#6我不再有错误:

linting 此文件时没有错误。

问题

  1. 这是故意行为还是存在错误lintr
  2. 鉴于lintr抱怨行号中的片段#13而不是行号,为什么行号错误#6
0 投票
1 回答
290 浏览

r - 发生 R linting 问题时如何使 azure devops 构建失败

我在 R 中使用 lintr 库来查找代码中的 linting 问题。我把它们变成这样的xml格式:

现在,当出现此类问题时,我想使 Azure devops 构建失败。

我能够以这样的 JUnit 格式进行测试:

当我在 azure 管道中执行此步骤时,如果测试套件中的任何测试失败,我的构建将失败:

当出现 linting 问题时,我想要类似的东西来使构建失败。我还希望用户查看构建输出中的这些 linting 问题。谢谢

0 投票
0 回答
580 浏览

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 错误
  • 制作一个 .lintrproj1来关闭 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。

0 投票
1 回答
55 浏览

r - lintr 无法在 RStudio 中加载

我无法让 lintr 在 RStudio 中工作。任何建议表示赞赏。我相信我已经更新了一切。(对于上下文,我是一个新手。我当然可以做一些愚蠢的事情。)这是发生在我身上的事情:

0 投票
1 回答
151 浏览

r - 使用 CI 设置 lintr

我一直在尝试lintr使用 GitHub 操作设置包(circleCi 也很好,因为它是一个私人仓库)来检查 PR 和推送,但没有成功。

我的项目是一本书,所以我不需要包构建检查,但只需要执行样式,因为有多个作者。

我已经阅读了这个自述文件和这篇文章,但我不知道在这种情况下 .yml 文件应该是什么样子