有谁知道如何完全禁用Rstudio中的自动完成?在R studio中禁用自动完成
我在工具>全局选项中看不到它的选项;只有一种方法可以将其变为“手动(标签)”或“触发时”。输入代码时我无法输入标签,这让我发疯。
谢谢,保罗
有谁知道如何完全禁用Rstudio中的自动完成?在R studio中禁用自动完成
我在工具>全局选项中看不到它的选项;只有一种方法可以将其变为“手动(标签)”或“触发时”。输入代码时我无法输入标签,这让我发疯。
谢谢,保罗
我同意这是非常讨厌。 RStudio完全忽略了代码完成快捷方式的用户偏好,并在源代码中验证了这一点。我发现了以下解决方法,它可以在控制台和源视图中禁用TAB自动完成功能,同时使用CTRL-SPACE(Control-Space)键保留完整的自动完成功能。
此变通办法涉及到执行RStudio的自定义生成(最新主分支https://github.com/rstudio/rstudio.git)。注意:在Mac OS X El Capitan/Sierra上,必须安装Java SDK,并且必须安装Apache Ant和OpenSSL(即通过Homebrew - brew install ant; brew install openssl),除了列出的依赖关系,然后按照说明运行cmake。
对于解决办法,我注释掉硬编码TAB完成在下列文件触发,然后通过CMake的(每指令)所建的发行版本和须藤使安装:
在目录: 的src/GWT/src目录/组织/ rstudio /工作室/客户/工作台/视图
./console/shell/assist/CompletionUtils.java
Lines 27-28:
return /*(event.getKeyCode() == KeyCodes.KEY_TAB && modifier == KeyboardShortcut.NONE)
|| */ (event.getKeyCode() == KeyCodes.KEY_SPACE && modifier == KeyboardShortcut.CTRL);
=====
./console/shell/shell.java
Lines 517-518:
/* if (event.getNativeKeyCode() == KeyCodes.KEY_TAB)
event.preventDefault(); */
=====
./console/shell/assist/RCompletionManager.java
Line 1156:
// if (firstLine.matches("^\\s*$"))
=====
./source/Source.java
Lines 382-383:
/* commands.codeCompletion().setShortcut(
new KeyboardShortcut(KeyCodes.KEY_TAB)); */
相同。这是一个适当的错误,考虑到行为应该绑定到一个键,但即使绑定被禁用后仍然存在... https://support.rstudio.com/hc/en-us/community/posts/210476487-Disable-tab-完成即ie-unbind-Retrieve-Completions-from-Tab-key-这是很久以前的要求,所以我猜他们根本不认为它很重要... https://support.rstudio.com/hc/ EN-US /社区/职位/ 200651216,如何对禁用标签代码,完井 – Frank