Settings reference
July 24, 2026 · View on GitHub
Every raven.* setting Raven reads, in one alphabetical table. Most are exposed through the VS Code Settings UI; a handful of advanced server-side knobs are LSP-init-only (still readable from raven.toml). For narrative explanations of each surface, follow the Docs link on a row. For how raven.toml layering works, see Configuration.
The raven.toml path column shows where to set a key in a project's raven.toml. A — means the setting is not read from raven.toml; most such settings are VS Code-client-only, and LSP-client-only exceptions say so in their descriptions.
| Setting | Default | Type / Allowed values | raven.toml path | Docs | Description |
|---|---|---|---|---|---|
raven.chunks.activeCellIndicator | true | boolean | — | chunks | In .R files using # %% cell mode, draw a top and bottom border around the cell containing the cursor (Jupyter-style). |
raven.chunks.codeLens.commands | ["raven.runCurrentChunk","raven.runNextChunkAndMove","raven.runAboveChunks"] | array of ("raven.runCurrentChunk" | "raven.runCurrentChunkAndMove" | "raven.runAboveChunks" | "raven.runCurrentAndBelowChunks" | "raven.runBelowChunks" | "raven.runPreviousChunk" | "raven.runPreviousChunkAndMove" | "raven.runNextChunk" | "raven.runNextChunkAndMove" | "raven.runAllChunks") | — | chunks | Ordered list of run commands shown as CodeLens buttons above every R chunk header. |
raven.chunks.highlight.enabled | true | boolean | — | chunks | Highlight R code chunks in .Rmd / .Rmarkdown / .qmd files (and # %% cells in .R files) with a background color. |
raven.completion.triggerOnOpenParen | true | boolean | completion.triggerOnOpenParen | completion | Trigger parameter completions when typing '(' after a function name. |
raven.crossFile.assumeCallSite | "end" | "start" | "end" | crossFile.assumeCallSite | cross-file | Default call site assumption when the actual source() call location cannot be determined. |
raven.crossFile.backwardDependencies | "auto" | "auto" | "explicit" | crossFile.backwardDependencies | cross-file | Controls how Raven discovers files that source the current file. 'auto' scans the workspace, and 'explicit' requires # raven: sourced-by directives (the @lsp-sourced-by alias also works). |
raven.crossFile.cache.existenceMaxEntries | 2000 | number (≥100) | crossFile.cache.existenceMaxEntries | cross-file | Maximum file existence check results cached. |
raven.crossFile.cache.fileContentMaxEntries | 500 | number (≥50) | crossFile.cache.fileContentMaxEntries | cross-file | Maximum file contents cached for cross-file resolution. |
raven.crossFile.cache.metadataMaxEntries | 1000 | number (≥100) | crossFile.cache.metadataMaxEntries | cross-file | Maximum entries in the metadata cache. |
raven.crossFile.cache.workspaceIndexMaxEntries | 5000 | number (≥100) | crossFile.cache.workspaceIndexMaxEntries | cross-file | Maximum closed files in the cross-file workspace index. |
raven.crossFile.caseMismatchSeverity | "auto" | "auto" | "error" | "warning" | "information" | "info" | "hint" | "off" | crossFile.diagnostics.caseMismatch | cross-file | Severity for the source-path-case-mismatch diagnostic when a source() call, forward directive, or backward directive (# raven: sourced-by etc.) resolves only by a case difference from the real filename. |
raven.crossFile.circularDependencySeverity | "error" | "error" | "warning" | "information" | "info" | "hint" | "off" | crossFile.circularDependencySeverity | cross-file | Severity level for diagnostics when circular dependencies are detected between files. |
raven.crossFile.editedFileDebounceMs | 50 | number (≥0) | crossFile.editedFileDebounceMs | cross-file | Debounce delay in milliseconds before re-running diagnostics on the actively-edited file. |
raven.crossFile.hoistGlobalsInFunctions | true | boolean | crossFile.hoistGlobalsInFunctions | cross-file | Hoist global definitions inside function bodies so callers see late-binding semantics across files. |
raven.crossFile.indexWorkspace | true | boolean | crossFile.indexWorkspace | cross-file | Enable workspace indexing for cross-file awareness. |
raven.crossFile.maxBackwardDepth | 10 | number (≥1) | crossFile.maxBackwardDepth | cross-file | Maximum depth for backward traversal when resolving cross-file dependencies. |
raven.crossFile.maxChainDepth | 64 | number (≥1) | crossFile.maxChainDepth | cross-file | Maximum total chain depth for cross-file dependency resolution. |
raven.crossFile.maxChainDepthSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | crossFile.maxChainDepthSeverity | cross-file | Severity level for diagnostics when the maximum chain depth is exceeded during cross-file dependency resolution. |
raven.crossFile.maxForwardDepth | 10 | number (≥1) | crossFile.maxForwardDepth | cross-file | Maximum depth for forward traversal when resolving cross-file dependencies. |
raven.crossFile.maxRevalidationsPerTrigger | 10 | number (≥1) | crossFile.maxRevalidationsPerTrigger | cross-file | Maximum number of dependent files to revalidate when a file changes. |
raven.crossFile.maxTransitiveDependentsVisited | 50000 | number (≥1) | crossFile.maxTransitiveDependentsVisited | cross-file | Maximum number of files Raven visits while traversing the cross-file dependency graph for dependent revalidation, package-scope snapshots, and open-neighborhood pinning. |
raven.crossFile.missingFileSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | crossFile.diagnostics.missingFile | cross-file | Severity level for diagnostics when a sourced file cannot be found. |
raven.crossFile.onDemandIndexing.enabled | true | boolean | crossFile.onDemandIndexing.enabled | cross-file | Enable on-demand indexing of files not currently open in the editor. |
raven.crossFile.outOfScopeSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | crossFile.outOfScopeSeverity | cross-file | Severity level for diagnostics when symbols are used before they are available in scope. |
raven.crossFile.redundantDirectiveSeverity | "hint" | "error" | "warning" | "information" | "info" | "hint" | "off" | crossFile.redundantDirectiveSeverity | cross-file | Severity level for diagnostics when a # raven: source directive (or its permanent @lsp-source alias), without line=, targets the same file as an earlier source() call. |
raven.crossFile.revalidationDebounceMs | 200 | number (≥0) | crossFile.revalidationDebounceMs | cross-file | Debounce delay in milliseconds before triggering cross-file revalidation after a file change. |
raven.dataViewer.defaultDigits | 3 | integer (0–15) | — | data-viewer | Initial digits used by the data viewer's Format toggle. |
raven.dataViewer.maxStoredLayouts | 10000 | integer (≥0) | — | data-viewer | Maximum number of persisted column-layout entries (per panel name × schema hash) before LRU eviction. |
raven.dataViewer.missingValueStyle | "foreground" | "foreground" | "background" | "none" | — | data-viewer | How the data viewer highlights NA / NaN cells. |
raven.dataViewer.persistFilters | true | boolean | — | data-viewer | Persist the data viewer's active row filters per panel name × schema hash so a later View() call restores them. |
raven.dataViewer.persistSort | true | boolean | — | data-viewer | Persist the data viewer's active row sort per panel name × schema hash so a later View() call restores it. |
raven.diagnostics.conditionAssignmentSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | diagnostics.conditionAssignmentSeverity | diagnostics | Severity for the condition-assignment diagnostic. |
raven.diagnostics.enabled | true | boolean | diagnostics.enabled | diagnostics | Enable or disable all diagnostics. |
raven.diagnostics.maxSyntaxDiagnosticsPerFile | 500 | integer (≥0) | diagnostics.maxSyntaxDiagnosticsPerFile | diagnostics | Maximum native Tree-sitter syntax diagnostics retained per Stan or JAGS/BUGS file after exact deduplication and source ordering; set to 0 for unlimited, and note that this cap does not apply to R diagnostics. |
raven.diagnostics.mixedLogicalSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | diagnostics.mixedLogicalSeverity | diagnostics | Severity for the mixed-logical diagnostic. |
raven.diagnostics.reportUnusedSuppressions | false | boolean | diagnostics.reportUnusedSuppressions | diagnostics | Report every suppression directive that suppressed nothing as an unused-suppression hint, not just # raven: expect[...] directives. |
raven.diagnostics.undefinedVariableInBracketIndices | true | boolean | diagnostics.undefinedVariableInBracketIndices | diagnostics | Whether undefined-variable diagnostics descend into bracket index expressions (e.g. df[i, ], lst[[k]]). |
raven.diagnostics.undefinedVariableInCallArguments | true | boolean | diagnostics.undefinedVariableInCallArguments | diagnostics | Whether undefined-variable diagnostics descend into ordinary function-call arguments (e.g. paste(x)). |
raven.diagnostics.undefinedVariableSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | diagnostics.severity.undefinedVariable | diagnostics | Severity level for diagnostics when a variable is used but not defined in the current scope, sourced files, or loaded packages. |
raven.editor.dotInWord | "yes" | "ask" | "yes" | "no" | — | editor-integrations | Whether to treat . as part of a word in R and JAGS files. 'yes' (the default) treats dots as word characters by overriding editor.wordSeparators for [r] / [jags] — matching RStudio and Positron — 'no' leaves dots as separators, and 'ask' prompts on first use. |
raven.help.viewerColumn | "beside" | "active" | "beside" | — | help-viewer | Initial editor column when the R help viewer first opens. |
raven.indentation.argumentStyle | "aligned" | "aligned" | "indented" | "off" | indentation.argumentStyle | indentation | How syntax-aware indentation formats parenthesized argument continuations. |
raven.indentation.enabled | true | boolean | indentation.enabled | indentation | Enable syntax-aware indentation. |
raven.indentation.infixContinuationStyle | "aligned" | "aligned" | "indented" | "off" | indentation.infixContinuationStyle | indentation | How syntax-aware indentation formats infix-operator chain continuations. |
raven.knit.export.timeoutMs | 120000 | integer (≥5000) | — | knit | Timeout (milliseconds) for the Pandoc subprocess used by Knit: Export to PDF / Word / HTML. |
raven.knit.fontFamily | "" | string | — | knit | Body/prose font for the Raven: Knit Preview output. |
raven.knit.monospaceFontFamily | "" | string | — | knit | Monospace font for both highlighted code chunks and bare output blocks in the Raven: Knit Preview output. |
raven.knit.persistPreview | true | boolean | — | knit | Keep the Knit Preview panel across window reloads and VS Code restarts. |
raven.knit.timeoutMs | 600000 | integer (≥1000) | — | knit | Hard timeout (milliseconds) for the Raven: Knit Preview subprocess. |
raven.knit.workingDirectory | "document" | "document" | "project" | "current" | — | knit | Working directory used for knitr chunk evaluation (knitr::opts_knit$set(root.dir = ...)). |
raven.linting.assignmentOperator | "<-" | "<-" | "=" | linting.assignmentOperator | linting | Preferred assignment operator. |
raven.linting.assignmentOperatorSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.assignmentOperatorSeverity | linting | Severity for the assignment-operator lint. |
raven.linting.commasSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.commasSeverity | linting | Severity for the commas lint. |
raven.linting.commentedCodeSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.commentedCodeSeverity | linting | Severity for the commented-code lint. |
raven.linting.enabled | "auto" | "auto" | "on" | "off" | true | false | linting.enabled | linting | "auto" enables linting when a .lintr or raven.toml opts in, except literal ~/.lintr is ignored unless the LSP-client setting raven.linting.readHomeLintr is true or the CLI receives --config ~/.lintr, and .lintr is ignored when REditorSupport or Positron already owns lintr diagnostics. |
raven.linting.equalsNaSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.equalsNaSeverity | linting | Severity for the equals-NA lint. |
raven.linting.functionLeftParenthesesSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.functionLeftParenthesesSeverity | linting | Severity for the function-left-parentheses lint. |
raven.linting.indentationSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.indentationSeverity | linting | Severity for the indentation lint. |
raven.linting.indentationUnit | "auto" | integer (1–8) | "auto" | linting.indentationUnit | linting | Number of spaces per indent level used by the indentation lint. |
raven.linting.infixContinuationStyle | "either" | "indented" | "aligned" | "either" | linting.infixContinuationStyle | linting | How the indentation lint treats a line that continues an end-of-line infix operator (|, +, pipes, $/@ chains). |
raven.linting.infixSpacesSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.infixSpacesSeverity | linting | Severity for the infix-spaces lint. |
raven.linting.lineLength | 80 | integer (20–10000) | linting.lineLength | linting | Maximum allowed line length for the line-length lint. |
raven.linting.lineLengthSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.lineLengthSeverity | linting | Severity for the line-length lint. |
raven.linting.noTabSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.noTabSeverity | linting | Severity for tabs used in indentation (tabs in comments, strings, or between tokens are not flagged, matching lintr). |
raven.linting.objectLength | 30 | integer (5–1000) | linting.objectLength | linting | Maximum allowed identifier length for the object-length lint. |
raven.linting.objectLengthSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.objectLengthSeverity | linting | Severity for the object-length lint. |
raven.linting.objectNameRegexesArgument | [] | array of string | linting.objectNameRegexesArgument | linting | Additional regexes accepted for function formal argument names. |
raven.linting.objectNameRegexesFunction | [] | array of string | linting.objectNameRegexesFunction | linting | Additional regexes accepted for function names. |
raven.linting.objectNameRegexesVariable | [] | array of string | linting.objectNameRegexesVariable | linting | Additional regexes accepted for variable names. |
raven.linting.objectNameSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.objectNameSeverity | linting | Severity for the object-name lint. |
raven.linting.objectNameStyleArgument | ["snake_case","symbols"] | "snake_case" | "camelCase" | "dotted.case" | "UPPER_CASE" | "lowercase" | "symbols" | "any" | array of ("snake_case" | "camelCase" | "dotted.case" | "UPPER_CASE" | "lowercase" | "symbols" | "any") | linting.objectNameStyleArgument | linting | Required naming scheme for function formal arguments. |
raven.linting.objectNameStyleFunction | ["snake_case","symbols"] | "snake_case" | "camelCase" | "dotted.case" | "UPPER_CASE" | "lowercase" | "symbols" | "any" | array of ("snake_case" | "camelCase" | "dotted.case" | "UPPER_CASE" | "lowercase" | "symbols" | "any") | linting.objectNameStyleFunction | linting | Required naming scheme for functions (assignments whose value is a function definition). |
raven.linting.objectNameStyleVariable | ["snake_case","symbols"] | "snake_case" | "camelCase" | "dotted.case" | "UPPER_CASE" | "lowercase" | "symbols" | "any" | array of ("snake_case" | "camelCase" | "dotted.case" | "UPPER_CASE" | "lowercase" | "symbols" | "any") | linting.objectNameStyleVariable | linting | Required naming scheme for variables (assignments whose value is not a function definition). |
raven.linting.quotesSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.quotesSeverity | linting | Severity for the quotes lint. |
raven.linting.readHomeLintr | false | boolean | — | linting | VS Code/LSP-client-only. Read literal ~/.lintr during project-config discovery; the CLI uses literal ~/.lintr only when passed explicitly with --config ~/.lintr. |
raven.linting.semicolonSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.semicolonSeverity | linting | Severity for the semicolon lint. |
raven.linting.spacesInsideSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.spacesInsideSeverity | linting | Severity for the spaces-inside lint. |
raven.linting.stringDelimiter | "\"" | "\"" | "'" | linting.stringDelimiter | linting | Preferred string-literal delimiter. |
raven.linting.tAndFSymbolSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.tAndFSymbolSeverity | linting | Severity for the T/F-symbol lint. |
raven.linting.trailingBlankLinesSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.trailingBlankLinesSeverity | linting | Severity for trailing blank lines and missing final newline at end of file. |
raven.linting.trailingWhitespaceSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.trailingWhitespaceSeverity | linting | Severity for trailing whitespace at end of line. |
raven.linting.vectorLogicSeverity | "information" | "error" | "warning" | "information" | "info" | "hint" | "off" | linting.vectorLogicSeverity | linting | Severity for the vector-logic lint. |
raven.packages.additionalLibraryPaths | [] | array of string | packages.additionalLibraryPaths | r-package-dev | Additional library paths to search for R packages. |
raven.packages.enabled | true | boolean | packages.enabled | r-package-dev | Enable package awareness features. |
raven.packages.missingPackageSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | packages.missingPackageSeverity | r-package-dev | Severity level for diagnostics when a package referenced in library() cannot be found. |
raven.packages.namespaceMemberSeverity | "warning" | "error" | "warning" | "information" | "info" | "hint" | "off" | packages.namespaceMemberSeverity | r-package-dev | Severity for diagnostics when pkg::member references a member that a complete package export set does not contain. |
raven.packages.packageMode | "auto" | "auto" | "enabled" | "disabled" | packages.packageMode | r-package-dev | Controls R package workspace mode. |
raven.packages.rPath | "" | string | packages.rPath | r-package-dev | Path to the R executable used for non-interactive subprocess calls such as package introspection and library-path discovery; if empty, Raven searches for R on the system PATH. |
raven.packages.rprofilePrelude | true | boolean | packages.rprofilePrelude | rprofile | Use a workspace-root .Rprofile's top-level source()/library()/assignments as a script-scope prelude, so files where R would source .Rprofile (scripts, data-raw, non-package R/) resolve the helpers it provides. |
raven.packages.watchDebounceMs | 500 | integer (100–5000) | packages.watchDebounceMs | r-package-dev | Debounce window for batching library path filesystem events, in milliseconds. |
raven.packages.watchLibraryPaths | true | boolean | packages.watchLibraryPaths | r-package-dev | Watch R library paths for package install/remove events and refresh diagnostics automatically. |
raven.pandoc.path | "" | string | — | knit | Absolute path to a Pandoc binary; leave empty to search PATH and standard install locations (Homebrew, /usr/local/bin, RStudio's bundled pandoc, etc.). |
raven.pandoc.pdfEngine | "xelatex" | "xelatex" | "pdflatex" | "lualatex" | "tectonic" | "wkhtmltopdf" | — | knit | PDF engine used by Pandoc when exporting to PDF. |
raven.plot.viewerColumn | "beside" | "active" | "beside" | — | plot-viewer | Initial editor column when the plot viewer first opens. |
raven.quarto.fontFamily | "" | string | — | quarto | Body/prose font for the live-themed Quarto Preview. |
raven.quarto.monospaceFontFamily | "" | string | — | quarto | Monospace font for code in the live-themed Quarto Preview. |
raven.quarto.path | "" | string | — | quarto | Absolute path to a Quarto CLI binary; leave empty to search PATH and standard install locations (Homebrew, /usr/local/bin, RStudio's bundled Quarto, etc.). |
raven.quarto.render.timeoutMs | 600000 | integer (1–2147483647) | — | quarto | Hard timeout (milliseconds) for the Quarto render subprocess. |
raven.quarto.viewerColumn | "beside" | "active" | "beside" | — | quarto | Editor column used for newly-created Quarto preview panels. |
raven.rConsole.activation | "auto" | "enabled" | "disabled" | "auto" | — | r-console | Controls when Raven activates its R-language IDE surfaces: the R console, plot/data viewers, chunk run commands, and the .Rmd / .Rmarkdown knit command. |
raven.rTerminal.program | "R" | "R" | "arf" | "radian" | — | r-console | Program to use for the R terminal. 'R' is the standard R console; 'arf' and 'radian' are modern third-party R consoles (must be installed separately). |
raven.sendToR.advanceCursorOnSend | true | boolean | — | r-console | Advance cursor to the next line after sending a single statement to R. |
raven.sendToR.autoTempFileThresholdLines | 25 | integer (≥2) | — | r-console | Line-count threshold at which auto send mode switches from pasting to writing the code to a temporary file. |
raven.sendToR.sendMethod | "auto" | "auto" | "paste" | "tempfile" | — | r-console | Controls how Raven sends code to R. |
raven.server.path | "" | string | — | configuration | Path to the raven binary; if empty, the bundled binary is used. |
raven.symbols.workspaceMaxResults | 1000 | number (100–10000) | symbols.workspaceMaxResults | document-outline | Maximum number of symbols returned by workspace symbol search (Ctrl+T / Cmd+T). |
raven.trace.server | "off" | "off" | "messages" | "verbose" | — | configuration | Trace level for the Raven language server. 'messages' shows debug output, 'verbose' shows full trace output including diagnostic decisions. |