Settings reference
This page goes through the settings.json of my R profile, the one profile I use for all R work. It is synced between my machines with Settings Sync. Profiles do not inherit settings from the Default profile, so copying this file into a new profile gives the same set-up. The exceptions are a few application-wide settings, which VS Code always reads from the Default profile (see settingsSync.ignoredSettings below). How profiles and sync fit together is on Profiles and Settings Sync.
“(default)” in a row means the value is the same as the VS Code or extension default.
Window and workbench
| Setting | Value | What it does |
|---|---|---|
workbench.panel.defaultLocation |
"right" |
Opens the panel (terminal, Problems, Output) to the right of the editor instead of below it. |
security.workspace.trust.untrustedFiles |
"open" |
Opens files from outside a trusted workspace without asking. |
zenMode.centerLayout |
true |
Centres the editor in Zen mode (default). |
window.commandCenter |
true |
Shows the Command Center search box in the title bar (default). |
workbench.iconTheme |
"vscode-icons" |
Uses the file icon theme from the vscode-icons extension. |
vsicons.dontShowNewVersionMessage |
true |
Stops vscode-icons from showing a “new version” message after each update. |
workbench.list.openMode |
"doubleClick" |
In the Explorer and other lists, a single click selects an item and a double click opens it. |
workbench.colorTheme |
"Visual Studio Dark" |
Uses the built-in “Dark (Visual Studio)” colour theme. |
workbench.editor.pinnedTabsOnSeparateRow |
true |
Shows pinned tabs on their own row above the other tabs. |
workbench.editor.wrapTabs |
true |
Wraps tabs onto more rows instead of scrolling them sideways. |
window.title |
"${rootName}" |
Shows only the workspace or folder name in the window title. |
Terminal
| Setting | Value | What it does |
|---|---|---|
terminal.integrated.cursorStyle |
"underline" |
Draws the terminal cursor as an underline. |
terminal.integrated.cursorBlinking |
true |
Makes the terminal cursor blink. |
terminal.integrated.defaultProfile.windows |
"R Terminal" |
Every new terminal uses the “R Terminal” profile. |
terminal.integrated.fontWeightBold |
"normal" |
Draws bold terminal text in normal weight. |
The “R Terminal” profile comes from the vscode-R extension (REditorSupport.r) and starts the R console set in r.consolePath (radian), so a new terminal opens an R session; PowerShell is still available from the drop-down next to +. The terminal keybindings are on Keybindings.
Editor
| Setting | Value | What it does |
|---|---|---|
editor.stickyScroll.enabled |
true |
Pins the headers of the current scopes (functions, headings, chunks) at the top of the editor while scrolling (default). |
editor.unicodeHighlight.nonBasicASCII |
false |
Does not highlight characters outside basic ASCII. |
editor.tabSize |
2 |
One indentation level is 2 spaces. |
editor.defaultFormatter |
"REditorSupport.r" |
Uses vscode-R as the formatter for every language without its own override. |
editor.inlineSuggest.enabled |
true |
Allows inline (ghost-text) suggestions in the editor (default). |
editor.guides.bracketPairs |
"active" |
Draws a vertical guide only for the bracket pair the cursor is in. |
editor.rulers |
[80] |
Draws a vertical line at column 80. |
editor.accessibilitySupport |
"off" |
Turns off the screen-reader optimised mode instead of detecting it automatically. |
Minimap
| Setting | Value | What it does |
|---|---|---|
editor.minimap.autohide |
"mouseover" |
Hides the minimap until the mouse is over it. |
editor.minimap.maxColumn |
80 |
Draws at most 80 columns of each line in the minimap. |
editor.minimap.renderCharacters |
false |
Draws blocks instead of tiny characters. |
editor.minimap.scale |
2 |
Draws the minimap content at twice the normal size. |
editor.defaultFormatter is the formatter for Format Document (Shift+Alt+F) in every language that has no override. vscode-R formats R code through the R language server (the languageserver R package, which uses styler), so those packages have to be installed in each R version I use. Format on save is not turned on, so formatting only happens when I ask for it.
The vscode-R formatter can only format R, so the other languages get their own formatter in Language-specific formatters.
R language
These settings belong to the vscode-R extension (REditorSupport.r), except r.debugger.timeouts.startup, which belongs to the R Debugger extension (rdebugger.r-debugger).
| Setting | Value | What it does |
|---|---|---|
r.alwaysUseActiveTerminal |
true |
Sends code to the active terminal instead of a terminal vscode-R created itself. |
r.bracketedPaste |
true |
Sends code to the console in bracketed paste mode. |
r.consolePath |
"radian" |
The R console started in R terminals. |
settingsSync.ignoredSettings |
["-r.consolePath", "-r.plot.backend"] |
Settings that Settings Sync skips; a leading - makes it sync a setting it would skip by default. |
r.source.focus |
"editor" |
Keeps the focus in the editor after sourcing or running code. |
r.sessionWatcher |
true |
Connects the R session to VS Code: workspace viewer, plot viewer, data viewer, help (default). |
r.plot.backend |
"httpgd" |
Shows plots in the httpgd plot viewer inside VS Code. |
r.plot.defaults.fullWindowMode |
true |
Opens the httpgd plot viewer in full-window mode, with the plot filling the viewer. |
r.lsp.debug |
true |
Writes debug output of the R language server to its Output channel. |
r.lsp.diagnostics |
true |
Shows the language server’s lint diagnostics (from lintr) in the editor (default). |
r.debugger.timeouts.startup |
20000 |
How long (ms) the R Debugger waits for R to start. |
R console: radian on PATH, no R path
r.consolePath is the bare program name "radian", found on PATH (see Installation), and r.executablePath is not set, so the file holds no machine-specific paths. vscode-R then uses the R found on PATH, which with rig is the rig default version; how it looks for R, and how to pin a version for one project, is on R versions with rig.
Settings Sync and the two R settings
Settings Sync skips settings that are scoped machine or machine-overridable, or marked ignoreSync. Two settings this set-up depends on are affected: r.consolePath is machine-overridable, and r.plot.backend is ignoreSync. Without the line below, a new machine would get the rest of the profile but not radian and not httpgd.
settingsSync.ignoredSettings is the list of settings Sync should skip. A leading - does the opposite: it opts a setting back in. So ["-r.consolePath", "-r.plot.backend"] makes Sync carry both.
settingsSync.ignoredSettings itself is an application-scoped setting: VS Code reads it from the Default profile only. The same line therefore also has to be in the Default profile’s settings.json, otherwise it has no effect. See Profiles and Settings Sync.
Plots: httpgd
With r.plot.backend: "httpgd", plots open in a VS Code tab that resizes the plot with the window and keeps a plot history. It needs the httpgd R package in every R version I use; with rig, each version has its own library, so I install it per version (R versions with rig).
File associations
| Setting | Value | What it does |
|---|---|---|
files.associations |
{"*.rmd": "rmd"} |
Maps files ending in .rmd to the R Markdown language. |
Language-specific formatters
Each [language] block overrides settings for one language. Here they mostly pick the formatter.
| Setting | Value | What it does |
|---|---|---|
[markdown] |
formatter DavidAnson.vscode-markdownlint; whitespace shown in diffs |
Formats Markdown with markdownlint (applies its fixes); diffs show whitespace changes. |
[quarto] |
formatter quarto.quarto |
Formats .qmd files with the Quarto extension. |
[jsonc] |
formatter vscode.json-language-features |
Formats JSON with comments (e.g. VS Code’s own settings files) with the built-in JSON formatter. |
[json] |
formatter vscode.json-language-features |
Same for plain JSON. |
[yaml] |
formatter redhat.vscode-yaml |
Formats YAML with the Red Hat YAML extension. |
[css] |
formatter vscode.css-language-features |
Formats CSS with the built-in formatter. |
[scss] |
formatter vscode.css-language-features |
Same for SCSS. |
[sql] |
formatter ms-mssql.mssql |
Formats SQL with the SQL Server extension. |
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
"diffEditor.ignoreTrimWhitespace": false
},Quarto
| Setting | Value | What it does |
|---|---|---|
quarto.mathjax.theme |
"dark" |
Renders the Quarto extension’s equation previews in the dark style. |
quarto.render.previewReveal |
true |
Shows reveal.js presentations in the Preview pane after rendering (default). |
notebook.defaultFormatter |
"REditorSupport.r" |
Formats cells of notebooks (.ipynb) with vscode-R, so R cells are formatted like R scripts. .qmd files use the [quarto] formatter instead. |
Git and version control
| Setting | Value | What it does |
|---|---|---|
git.autofetch |
true |
Fetches from the remotes in the background every few minutes. |
git.confirmSync |
false |
Runs Sync Changes (pull, then push) without a confirmation dialog. |
git.suggestSmartCommit |
false |
Stops VS Code from offering “smart commit” (commit all changes when nothing is staged). |
git.ignoreLegacyWarning |
true |
Hides the warning about an old Git installation. |
git-graph.commitDetailsView.location |
"Docked to Bottom" |
Git Graph shows commit details in a panel docked at the bottom, not inline in the graph. |
git-graph.date.type |
"Commit Date" |
Git Graph shows and sorts by commit date instead of author date. |
scm.defaultViewMode |
"tree" |
Shows changed files as a folder tree in Source Control. |
gitlens.views.branches.branches.layout |
"list" |
GitLens shows branches as a flat list instead of a tree split at /. |
GitHub
These belong to the GitHub Pull Requests extension.
| Setting | Value | What it does |
|---|---|---|
githubPullRequests.fileListLayout |
"tree" |
Shows the files of a pull request as a folder tree. |
githubPullRequests.pullBranch |
"never" |
Never pulls new commits into a checked-out PR branch automatically, and does not ask. |
githubPullRequests.queries |
list of queries, see below | The categories shown in the Pull Requests view. |
"githubPullRequests.queries": [
{ "label": "Local Pull Request Branches", "query": "default" },
{ "label": "Local Pull Request Branches", "query": "repo:${owner}/${repository} default" },
{ "label": "Waiting For My Review", "query": "repo:${owner}/${repository} is:open review-requested:${user}" },
{ "label": "Assigned To Me", "query": "repo:${owner}/${repository} is:open assignee:${user}" },
{ "label": "Created By Me", "query": "repo:${owner}/${repository} is:open author:${user}" },
{ "label": "All PR", "query": "repo:${owner}/${repository}" },
{ "label": "All Open", "query": "repo:${owner}/${repository} default" },
{ "label": "All Open", "query": "default" }
]The extension fills in ${owner}, ${repository} and ${user} for the open repository and the signed-in GitHub user, so the same queries work in every project.
GitHub Copilot
| Setting | Value | What it does |
|---|---|---|
github.copilot.enable |
on for *, off for plaintext and scminput |
Turns Copilot inline suggestions on or off per language. |
github.copilot.editor.enableAutoCompletions |
false |
Copilot does not show completions automatically while typing. |
github.copilot.nextEditSuggestions.enabled |
true |
Turns on Next Edit Suggestions: Copilot proposes the next change based on recent edits. |
github.copilot.chat.commitMessageGeneration.instructions |
file .github/commit-instructions.md |
Extra instructions Copilot follows when generating a commit message. |
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": true,
"scminput": false,
"quarto": true,
"r": true
},"*": true turns Copilot on everywhere, and the other keys are exceptions or confirmations. plaintext (.txt files) and scminput (the commit message box in Source Control) are off. markdown, quarto and r are on explicitly, which * already covers; listing them keeps them on if * is switched off. The keys are VS Code language ids, which are lower-case.
With github.copilot.editor.enableAutoCompletions: false and github.copilot.nextEditSuggestions.enabled: true, Copilot does not complete code as I type. Instead it suggests edits: after a change it proposes the matching next change nearby (for example, renaming the other uses of a variable), which I accept with Tab. When I do want an inline suggestion, Ctrl+Alt+I asks for one on demand (Keybindings).
The Generate Commit Message button in Source Control reads .github/commit-instructions.md from the root of the open repository and follows it. The path is relative, so each repository can have its own rules; if the file does not exist, Copilot uses its default style. My Project_template ships this file, so every project made from it has the same commit conventions.
Extension-specific settings
| Setting | Value | What it does |
|---|---|---|
resmongraphical.cpuusage.style |
"Vertical" |
Resource Monitor Graphical (joshabb.resmongraphical): draws the CPU usage gauge in the status bar as vertical bars. |
resmongraphical.mem.style |
"Vertical" |
Same for memory use. |
resmongraphical.battery.style |
"Vertical" |
Same for battery level. |
resmongraphical.cpufreq.style |
"Vertical" |
Same for CPU frequency. |
resmongraphical.disk.style |
"Vertical" |
Same for disk use. |
resmongraphical.cputemp.style |
"Vertical" |
Same for CPU temperature. |
resmongraphical.network.style |
"Vertical" |
Same for network traffic. |
redhat.telemetry.enabled |
true |
Allows Red Hat extensions (here: YAML) to send usage data to Red Hat. |
errorLens.enabledDiagnosticLevels |
["warning", "info"] |
Error Lens prints warning and info messages inline at the end of the line, but not errors. |
todo-tree.ripgrep.ripgrep |
"C:\\Program Files\\WinGet\\Links\\rg.exe" |
Todo Tree uses this ripgrep to search for TODO and similar tags, instead of looking for the copy inside VS Code. The path is where winget links ripgrep when it is installed for all users (Install), so it is the same on every machine. |
Markdown
| Setting | Value | What it does |
|---|---|---|
markdown.extension.toc.updateOnSave |
false |
Markdown All in One does not update a table of contents it created when the file is saved. |
Spell check
These belong to Code Spell Checker (streetsidesoftware.code-spell-checker).
| Setting | Value | What it does |
|---|---|---|
cSpell.userWords |
list of words, see below | Words accepted as correct in every file and project. |
cSpell.language |
"en-GB,cs" |
Languages to check spelling in. |
The user words are:
- R packages and R terms:
dplyr,purrr,tarchetypes,tibble,tidyverse,hmsc,xlim,ylim,agelim,timestep. - Projects and databases:
vegvault,Neotoma. - Names and identifiers:
Ondřej,Mottl,ORCID.
cSpell.language takes a comma-separated list of language codes. British English is built into Code Spell Checker. Czech is not: it needs the separate Czech dictionary extension (streetsidesoftware.code-spell-checker-czech, see Extensions), and its code is cs (the ISO code), not cz (the country). A word counts as correct if it is in any of the listed languages.
AI assistants and chat
| Setting | Value | What it does |
|---|---|---|
chat.agent.maxRequests |
100 |
How many requests an agent-mode chat makes before it stops and asks whether to continue. |
chat.tools.terminal.autoApprove |
list of commands, see below | Terminal commands the chat agent can run without asking. |
chat.tools.urls.autoApprove |
list of sites, see below | URLs the agent’s fetch tool can use without asking. |
chat.mcp.gallery.enabled |
true |
Shows the gallery of MCP servers in the Extensions view. |
chat.viewSessions.orientation |
"stacked" |
Shows the list of chat sessions stacked above the chat instead of side by side. |
chat.sessionSync.enabled |
true |
Syncs chat sessions between devices. |
github.copilot.chat.agentDebugLog.fileLogging.enabled |
true |
Writes the Copilot agent’s debug log to files. |
chatgpt.reviewDelivery |
"detached" |
Codex extension (openai.chatgpt): delivers code review results separately from the current conversation. |
claudeCode.hideOnboarding |
true |
Hides the onboarding / welcome content in the Claude Code extension. |
claudeCode.preferredLocation |
"panel" |
Opens Claude Code as a panel (editor tab) instead of in the sidebar. |
"chat.tools.terminal.autoApprove": {
"Copy-Item": true,
"New-Item": true,
"Test-Path": true,
"robocopy": true,
"quarto": true
},
"chat.tools.urls.autoApprove": {
"https://cran.r-project.org": true,
"https://besjournals.onlinelibrary.wiley.com": {
"approveRequest": true,
"approveResponse": false
}
},In agent mode, the chat asks before it runs a terminal command. Commands listed in chat.tools.terminal.autoApprove with true run without asking. Here that is three PowerShell commands to copy files, create files and folders, and test whether a path exists (Copy-Item, New-Item, Test-Path), robocopy, and quarto. A plain name matches the command whatever arguments follow it, so this includes robocopy /MIR and quarto render.
chat.tools.urls.autoApprove works the same way for web fetches, with two steps per site: sending the request and using the response. I let the agent fetch CRAN pages freely; for the British Ecological Society journals site on Wiley it fetches without asking but asks before using what it fetched.
Explorer, diff and workbench extras
| Setting | Value | What it does |
|---|---|---|
explorer.confirmDragAndDrop |
false |
Moves files dragged in the Explorer without a confirmation dialog. |
workbench.startupEditor |
"none" |
Opens no Welcome page or editor at start-up. |
workbench.activityBar.location |
"top" |
Shows the activity bar icons in a row at the top of the sidebar instead of a vertical bar. |
workbench.editor.empty.hint |
"hidden" |
Hides the hint text shown in a new empty editor. |
diffEditor.ignoreTrimWhitespace |
false |
Diffs show changes in leading and trailing whitespace. |
diffEditor.renderSideBySide |
false |
Shows diffs inline (one column) instead of side by side. |
[snippets] |
formatter vscode.json-language-features |
Formats snippet files with the built-in JSON formatter. |
[instructions] |
diffEditor.ignoreTrimWhitespace: true |
For Copilot instruction files (*.instructions.md), diffs ignore leading and trailing whitespace. |
YAML
| Setting | Value | What it does |
|---|---|---|
yaml.disableSchemaDetection |
list of file patterns, see below | The Red Hat YAML extension does not guess a schema for files matching these patterns. |
"yaml.disableSchemaDetection": [
"**/docker-compose.yml",
"**/docker-compose.yaml",
"**/docker-compose.*.yml",
"**/docker-compose.*.yaml",
"**/compose.yml",
"**/compose.yaml",
"**/compose.*.yml",
"**/compose.*.yaml",
"**/.github/workflows/*.yml",
"**/.github/workflows/*.yaml",
"**/.gitea/workflows/*.yml",
"**/.gitea/workflows/*.yaml",
"**/.forgejo/workflows/*.yml",
"**/.forgejo/workflows/*.yaml"
]The YAML extension normally detects a schema for a YAML file from its file name (via the JSON Schema Store) and uses it for validation and completion. This list turns that automatic detection off for Docker Compose files and for GitHub, Gitea and Forgejo workflow files.
SQL Server
| Setting | Value | What it does |
|---|---|---|
mssql.connectionGroups |
one group, ROOT |
SQL Server extension (ms-mssql.mssql): the groups saved connections are sorted into; it writes this entry itself. |
The full file
Show the full file: R/settings.json
{
// ============================================================================
// WINDOW & WORKBENCH SETTINGS
// ============================================================================
"workbench.panel.defaultLocation": "right",
"security.workspace.trust.untrustedFiles": "open",
"zenMode.centerLayout": true,
"window.commandCenter": true,
"workbench.iconTheme": "vscode-icons",
"vsicons.dontShowNewVersionMessage": true,
"workbench.list.openMode": "doubleClick",
"workbench.colorTheme": "Visual Studio Dark",
"workbench.editor.pinnedTabsOnSeparateRow": true,
"workbench.editor.wrapTabs": true,
"window.title": "${rootName}",
// ============================================================================
// TERMINAL SETTINGS
// ============================================================================
"terminal.integrated.cursorStyle": "underline",
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.defaultProfile.windows": "R Terminal",
"terminal.integrated.fontWeightBold": "normal",
// ============================================================================
// EDITOR SETTINGS
// ============================================================================
"editor.stickyScroll.enabled": true,
"editor.unicodeHighlight.nonBasicASCII": false,
"editor.tabSize": 2,
"editor.defaultFormatter": "REditorSupport.r",
"editor.inlineSuggest.enabled": true,
"editor.guides.bracketPairs": "active",
"editor.rulers": [
80
],
"editor.accessibilitySupport": "off",
// Minimap settings
"editor.minimap.autohide": "mouseover",
"editor.minimap.maxColumn": 80,
"editor.minimap.renderCharacters": false,
"editor.minimap.scale": 2,
// ============================================================================
// R LANGUAGE SETTINGS
// ============================================================================
// R Extension configuration
"r.alwaysUseActiveTerminal": true,
"r.bracketedPaste": true,
// radian and R are found on PATH; `rig default` picks the R version.
"r.consolePath": "radian",
// Settings Sync skips these two by default; "-" makes it sync them.
// The same line must be in the Default profile too.
"settingsSync.ignoredSettings": ["-r.consolePath", "-r.plot.backend"],
"r.source.focus": "editor",
"r.sessionWatcher": true,
"r.plot.backend": "httpgd",
"r.plot.defaults.fullWindowMode": true,
"r.lsp.debug": true,
"r.lsp.diagnostics": true,
"r.debugger.timeouts.startup": 20000,
// ============================================================================
// FILE ASSOCIATIONS
// ============================================================================
"files.associations": {
"*.rmd": "rmd"
},
// ============================================================================
// LANGUAGE-SPECIFIC FORMATTERS
// ============================================================================
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
"diffEditor.ignoreTrimWhitespace": false
},
"[quarto]": {
"editor.defaultFormatter": "quarto.quarto"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml"
},
"[css]": {
"editor.defaultFormatter": "vscode.css-language-features"
},
"[scss]": {
"editor.defaultFormatter": "vscode.css-language-features"
},
"[sql]": {
"editor.defaultFormatter": "ms-mssql.mssql"
},
// ============================================================================
// QUARTO SETTINGS
// ============================================================================
"quarto.mathjax.theme": "dark",
"quarto.render.previewReveal": true,
"notebook.defaultFormatter": "REditorSupport.r",
// ============================================================================
// GIT & VERSION CONTROL SETTINGS
// ============================================================================
"git.autofetch": true,
"git.confirmSync": false,
"git.suggestSmartCommit": false,
"git.ignoreLegacyWarning": true,
"git-graph.commitDetailsView.location": "Docked to Bottom",
"git-graph.date.type": "Commit Date",
"scm.defaultViewMode": "tree",
"gitlens.views.branches.branches.layout": "list",
// ============================================================================
// GITHUB SETTINGS
// ============================================================================
"githubPullRequests.fileListLayout": "tree",
"githubPullRequests.pullBranch": "never",
"githubPullRequests.queries": [
{
"label": "Local Pull Request Branches",
"query": "default"
},
{
"label": "Local Pull Request Branches",
"query": "repo:${owner}/${repository} default"
},
{
"label": "Waiting For My Review",
"query": "repo:${owner}/${repository} is:open review-requested:${user}"
},
{
"label": "Assigned To Me",
"query": "repo:${owner}/${repository} is:open assignee:${user}"
},
{
"label": "Created By Me",
"query": "repo:${owner}/${repository} is:open author:${user}"
},
{
"label": "All PR",
"query": "repo:${owner}/${repository}"
},
{
"label": "All Open",
"query": "repo:${owner}/${repository} default"
},
{
"label": "All Open",
"query": "default"
}
],
// ============================================================================
// GITHUB COPILOT SETTINGS
// ============================================================================
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": true,
"scminput": false,
"quarto": true,
"r": true
},
"github.copilot.editor.enableAutoCompletions": false,
"github.copilot.nextEditSuggestions.enabled": true,
"github.copilot.chat.commitMessageGeneration.instructions": [
{
"file": ".github/commit-instructions.md"
}
],
// ============================================================================
// EXTENSION-SPECIFIC SETTINGS
// ============================================================================
"resmongraphical.cpuusage.style": "Vertical",
"resmongraphical.mem.style": "Vertical",
"resmongraphical.battery.style": "Vertical",
"resmongraphical.cpufreq.style": "Vertical",
"resmongraphical.disk.style": "Vertical",
"resmongraphical.cputemp.style": "Vertical",
"resmongraphical.network.style": "Vertical",
"redhat.telemetry.enabled": true,
"errorLens.enabledDiagnosticLevels": [
"warning",
"info"
],
// ============================================================================
// MARKDOWN SETTINGS
// ============================================================================
"markdown.extension.toc.updateOnSave": false,
// ============================================================================
// SPELL CHECK SETTINGS
// ============================================================================
"cSpell.userWords": [
"agelim",
"dplyr",
"hmsc",
"Mottl",
"Neotoma",
"Ondřej",
"ORCID",
"purrr",
"tarchetypes",
"tibble",
"tidyverse",
"timestep",
"vegvault",
"xlim",
"ylim"
],
// Czech needs streetsidesoftware.code-spell-checker-czech.
"cSpell.language": "en-GB,cs",
"explorer.confirmDragAndDrop": false,
"chat.agent.maxRequests": 100,
"workbench.startupEditor": "none",
"chat.tools.terminal.autoApprove": {
"Copy-Item": true,
"New-Item": true,
"Test-Path": true,
"robocopy": true,
"quarto": true
},
"diffEditor.ignoreTrimWhitespace": false,
"[snippets]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"workbench.activityBar.location": "top",
"mssql.connectionGroups": [
{
"name": "ROOT",
"id": "ROOT"
}
],
"chat.mcp.gallery.enabled": true,
"chat.tools.urls.autoApprove": {
"https://cran.r-project.org": true,
"https://besjournals.onlinelibrary.wiley.com": {
"approveRequest": true,
"approveResponse": false
}
},
"github.copilot.chat.agentDebugLog.fileLogging.enabled": true,
"[instructions]": {
"diffEditor.ignoreTrimWhitespace": true
},
"workbench.editor.empty.hint": "hidden",
"chat.viewSessions.orientation": "stacked",
"chat.sessionSync.enabled": true,
"diffEditor.renderSideBySide": false,
"chatgpt.reviewDelivery": "detached",
"yaml.disableSchemaDetection": [
"**/docker-compose.yml",
"**/docker-compose.yaml",
"**/docker-compose.*.yml",
"**/docker-compose.*.yaml",
"**/compose.yml",
"**/compose.yaml",
"**/compose.*.yml",
"**/compose.*.yaml",
"**/.github/workflows/*.yml",
"**/.github/workflows/*.yaml",
"**/.gitea/workflows/*.yml",
"**/.gitea/workflows/*.yaml",
"**/.forgejo/workflows/*.yml",
"**/.forgejo/workflows/*.yaml"
],
"claudeCode.hideOnboarding": true,
"claudeCode.preferredLocation": "panel",
"todo-tree.ripgrep.ripgrep": "C:\\Program Files\\WinGet\\Links\\rg.exe"
}To use it, switch to the target profile, open Command Palette → Preferences: Open User Settings (JSON) and paste the file in, or import the whole profile as described on Profiles and Settings Sync.