如何防止 RStudio 的自动完成行为在函数参数内生成错误?

Rob*_*eel 5 r autocomplete rstudio

我刚刚将 Mac 上的 RStudio 更新到版本 2023.03.0+386,我以前广泛使用的某些自动完成功能似乎发生了变化。具体来说,我将选择在管道流中间进行联接的列。以前,自动完成功能相当智能且具有上下文感知功能,并且会从我尝试加入的表的名称中提取。现在,尝试自动完成会生成错误:Error in context[[1L]] : subscript out of bounds。出于习惯,我将提供一个代表,尽管由于这无法重现错误,我也会附上屏幕截图。

library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union

set.seed(42)
df1 <- data.frame(
  id = 1:10,
  x = runif(10),
  y = sample(letters[1:10])
)

df2 <- data.frame(
  id = 3:7,
  z = rnorm(5)
)

df2 %>% 
  left_join({ # With cursor in these curly brackest, hit tab to autocomplete.
    df1 %>% 
      select(id, x)
  })
#> Joining, by = "id"
#>   id          z         x
#> 1  3  2.2866454 0.2861395
#> 2  4 -1.3888607 0.8304476
#> 3  5 -0.2787888 0.6417455
#> 4  6 -0.1333213 0.5190959
#> 5  7  0.6359504 0.7365883
Run Code Online (Sandbox Code Playgroud)

创建于 2023-03-22,使用reprex v2.0.2

同样,完成甚至执行函数调用内的代码片段也会产生相同的错误。示例read.csv(尝试输入“下载”片段,该片段会生成我的下载文件夹的路径)

现在正在发生什么以前没有发生的事情?

更重要的是(对我来说),我可以

  • 更改某些设置以恢复到以前的行为?或者
  • 使用一些我尚未了解的奇特的新连接函数,这将产生与以前类似有用的行为?

我很感激任何可用的解释或帮助。

屏幕截图显示错误