RStudio 从 SQL 中删除前导空格格式

RStudio removing leading whitespace formatting from SQL

我意识到这在技术上是一个格式化问题而不是编程问题,但它与对 SQL 和 RStudio 的理解相互关联,所以我觉得它仍然是合适的。

我有一个用 Microsoft SQL Server Management Studio 编写的脚本,它的格式非常复杂以便于查看。例如:

SELECT (
        CASE WHEN Variable in (1,2)
             THEN 1
             ELSE 2
             END
       )

然而,当我将它粘贴到 RStudio 中时,它变成了这样的东西:

SELECT (
    CASE WHEN Variable in (1,2)
    THEN 1
    ELSE 2
    END
)

当前面有一个左括号时,它会保留一个制表符,但不会保留其他任何内容。我可以操纵它保留的选项卡的大小,但无论我在工具>全局选项>代码编辑中使用什么选项,我都无法保留任何其他格式。从上面的示例中看起来没什么大不了的,但是我的代码由多个嵌套查询组成,如果没有格式化就会变得非常混乱。任何建议表示赞赏!

问了这个问题我终于明白了,但我想其他人可能也有同样的问题,所以我想分享一下答案。

Tools>GlobalOptions>CodeEditing 中还有另一个选项 "Auto-indent code after paste" 默认选中。显然,它去除了所有格式并添加了自己的标签。取消选中它可以解决问题。