--- Order: 6 Area: getstarted TOCTitle: Settings ContentId: FDA6D86C-FF24-49BC-A1EB-E3BA43130FA0 PageTitle: Visual Studio Code User and Workspace Settings DateApproved: 3/7/2019 MetaDescription: How to modify Visual Studio Code User and Workspace Settings. --- # User and Workspace Settings It is easy to configure Visual Studio Code to your liking through its various settings. Nearly every part of VS Code's editor, user interface, and functional behavior has options you can modify.  VS Code provides two different scopes for settings: * **User Settings** - Settings that apply globally to any instance of VS Code you open. * **Workspace Settings** - Settings stored inside your workspace and only apply when the workspace is opened. Workspace settings override user settings. ## Creating User and Workspace Settings To open your user and workspace settings, use the following VS Code menu command: * On Windows/Linux - **File** > **Preferences** > **Settings** * On macOS - **Code** > **Preferences** > **Settings** You can also open the Settings editor from the **Command Palette** (`kb(workbench.action.showCommands)`) with **Preferences: Open Settings** or use the keyboard shortcut (`kb(workbench.action.openSettings)`). In the example below, the color theme and the icon theme have been changed.  Changes to settings are reloaded by VS Code as you change them. Modified settings are now indicated with a _blue line_ similar to modified lines in the editor. The gear icon opens a context menu with options to reset the setting to its default value as well as copy setting as JSON. >**Note:** Workspace settings are useful for sharing project specific settings across a team. ## Settings editor When you open the settings editor, you can search and discover settings you are looking for. When you search using the Search bar, it will not only show and highlight the settings matching your criteria, but also filter out those which are not matching. This makes finding settings quick and easy.  **Note**: VS Code extensions can also add their own custom settings and they will be visible under an **Extensions** section. ### Edit settings Each setting can be edited by either a **checkbox**, an **input** or by a **drop-down**. Simply edit the text or select the option you want to change to the desired settings.  ### Settings groups Default settings are represented in groups so that you can navigate them easily. It has a **Commonly Used** group at the top which shows popular customizations.  Below is a [copy of the default settings](/docs/getstarted/settings.md#default-settings) that come with VS Code. ## Settings file locations By default VS Code shows the Settings editor, but you can still edit the underlying `settings.json` file by using the **Open Settings (JSON)** command or by changing your default settings editor with the `workbench.settings.editor` setting. Depending on your platform, the user settings file is located here: * **Windows** `%APPDATA%\Code\User\settings.json` * **macOS** `$HOME/Library/Application Support/Code/User/settings.json` * **Linux** `$HOME/.config/Code/User/settings.json` The workspace setting file is located under the `.vscode` folder in your root folder. >**Note:** In case of a [Multi-root Workspace](/docs/editor/multi-root-workspaces.md#settings), workspace settings are located inside the workspace configuration file. ## Language specific editor settings To customize your editor by language, run the global command **Preferences: Configure Language Specific Settings** (command id: `workbench.action.configureLanguageBasedSettings`) from the **Command Palette** (`kb(workbench.action.showCommands)`) which opens the language picker. Selecting the language you want, opens the Settings editor with the language entry where you can add applicable settings.    If you have a file open and you want to customize the editor for this file type, click on the Language Mode in the Status Bar to the bottom-right of the VS Code window. This opens the Language Mode picker with an option **Configure 'language_name' language based settings**. Selecting this opens the Settings editor with the language entry where you can add applicable settings. You can also configure language based settings by directly opening `settings.json`. You can scope them to the workspace by placing them in the workspace settings just like other settings. If you have settings defined for a language in both user and workspace scopes, then they are merged by giving precedence to the ones defined in the workspace. The following examples customize editor settings for language modes `typescript` and `markdown`. ```json { "[typescript]": { "editor.formatOnSave": true, "editor.formatOnPaste": true }, "[markdown]": { "editor.formatOnSave": true, "editor.wordWrap": "on", "editor.renderWhitespace": "all", "editor.acceptSuggestionOnEnter": "off" } } ``` You can use IntelliSense in Settings editor to help you find allowed language based settings. All editor settings and some non-editor settings are supported. ## Settings and security Some settings allow you to specify an executable that VS Code will run to perform certain operations. For example, you can choose which shell the Integrated Terminal should use. For enhanced security, such settings can only be defined in user settings and not at workspace scope. Here is the list of settings not supported in workspace settings: * `git.path` * `terminal.integrated.shell.linux` * `terminal.integrated.shellArgs.linux` * `terminal.integrated.shell.osx` * `terminal.integrated.shellArgs.osx` * `terminal.integrated.shell.windows` * `terminal.integrated.shellArgs.windows` * `terminal.external.windowsExec` * `terminal.external.osxExec` * `terminal.external.linuxExec` The first time you open a workspace which defines any of these settings, VS Code will warn you and subsequently always ignore the values after that. ## Default settings Below are the Visual Studio Code default settings and their values. You can also view the default values in the Settings editor. ```json { // Editor // Controls whether the diff editor shows changes in leading or trailing whitespace as diffs. "diffEditor.ignoreTrimWhitespace": true, // Controls whether the diff editor shows +/- indicators for added/removed changes. "diffEditor.renderIndicators": true, // Controls whether the diff editor shows the diff side by side or inline. "diffEditor.renderSideBySide": true, // Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character. "editor.acceptSuggestionOnCommitCharacter": true, // Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions. // - on // - smart: Only accept a suggestion with `Enter` when it makes a textual change. // - off "editor.acceptSuggestionOnEnter": "on", // Controls whether the editor should run in a mode where it is optimized for screen readers. // - auto: The editor will use platform APIs to detect when a Screen Reader is attached. // - on: The editor will be permanently optimized for usage with a Screen Reader. // - off: The editor will never be optimized for usage with a Screen Reader. "editor.accessibilitySupport": "auto", // Controls whether the editor should automatically close brackets after the user adds an opening bracket. // - always // - languageDefined: Use language configurations to determine when to autoclose brackets. // - beforeWhitespace: Autoclose brackets only when the cursor is to the left of whitespace. // - never "editor.autoClosingBrackets": "languageDefined", // Controls whether the editor should automatically close quotes after the user adds an opening quote. // - always // - languageDefined: Use language configurations to determine when to autoclose quotes. // - beforeWhitespace: Autoclose quotes only when the cursor is to the left of whitespace. // - never "editor.autoClosingQuotes": "languageDefined", // Controls whether the editor should automatically adjust the indentation when users type, paste or move lines. Extensions with indentation rules of the language must be available. "editor.autoIndent": true, // Controls whether the editor should automatically surround selections. // - languageDefined: Use language configurations to determine when to automatically surround selections. // - brackets: Surround with brackets but not quotes. // - quotes: Surround with quotes but not brackets. // - never "editor.autoSurround": "languageDefined", // Code action kinds to be run on save. "editor.codeActionsOnSave": {}, // Timeout in milliseconds after which the code actions that are run on save are cancelled. "editor.codeActionsOnSaveTimeout": 750, // Controls whether the editor shows CodeLens. "editor.codeLens": true, // Controls whether the editor should render the inline color decorators and color picker. "editor.colorDecorators": true, // Controls whether syntax highlighting should be copied into the clipboard. "editor.copyWithSyntaxHighlighting": true, // Control the cursor animation style. "editor.cursorBlinking": "blink", // Controls whether the smooth caret animation should be enabled. "editor.cursorSmoothCaretAnimation": false, // Controls the cursor style. "editor.cursorStyle": "line", // Controls the width of the cursor when `editor.cursorStyle` is set to `line`. "editor.cursorWidth": 0, // Controls whether `editor.tabSize#` and `#editor.insertSpaces` will be automatically detected when a file is opened based on the file contents. "editor.detectIndentation": true, // Controls whether the editor should allow moving selections via drag and drop. "editor.dragAndDrop": true, // Controls whether copying without a selection copies the current line. "editor.emptySelectionClipboard": true, // Scrolling speed mulitiplier when pressing `Alt`. "editor.fastScrollSensitivity": 5, // Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible. "editor.find.addExtraSpaceOnTop": true, // Controls whether the find operation is carried out on selected text or the entire file in the editor. "editor.find.autoFindInSelection": false, // Controls whether the Find Widget should read or modify the shared find clipboard on macOS. "editor.find.globalFindClipboard": true, // Controls whether the search string in the Find Widget is seeded from the editor selection. "editor.find.seedSearchStringFromSelection": true, // Controls whether the editor has code folding enabled. "editor.folding": true, // Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy. "editor.foldingStrategy": "auto", // Controls the font family. "editor.fontFamily": "Consolas, 'Courier New', monospace", // Enables/Disables font ligatures. "editor.fontLigatures": false, // Controls the font size in pixels. "editor.fontSize": 14, // Controls the font weight. "editor.fontWeight": "normal", // Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document. "editor.formatOnPaste": false, // Format a file on save. A formatter must be available, the file must not be saved after delay, and the editor must not be shutting down. "editor.formatOnSave": false, // Timeout in milliseconds after which the formatting that is run on file save is cancelled. "editor.formatOnSaveTimeout": 750, // Controls whether the editor should automatically format the line after typing. "editor.formatOnType": false, // Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging. "editor.glyphMargin": true, // Controls whether the cursor should be hidden in the overview ruler. "editor.hideCursorInOverviewRuler": false, // Controls whether the editor should highlight the active indent guide. "editor.highlightActiveIndentGuide": true, // Controls the delay in milliseconds after which the hover is shown. "editor.hover.delay": 300, // Controls whether the hover is shown. "editor.hover.enabled": true, // Controls whether the hover should remain visible when mouse is moved over it. "editor.hover.sticky": true, // Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `editor.detectIndentation` is on. "editor.insertSpaces": true, // Controls the letter spacing in pixels. "editor.letterSpacing": 0, // Enables the code action lightbulb in the editor. "editor.lightbulb.enabled": true, // Controls the line height. Use 0 to compute the line height from the font size. "editor.lineHeight": 0, // Controls the display of line numbers. // - off: Line numbers are not rendered. // - on: Line numbers are rendered as absolute number. // - relative: Line numbers are rendered as distance in lines to cursor position. // - interval: Line numbers are rendered every 10 lines. "editor.lineNumbers": "on", // Controls whether the editor should detect links and make them clickable. "editor.links": true, // Highlight matching brackets when one of them is selected. "editor.matchBrackets": true, // Controls whether the minimap is shown. "editor.minimap.enabled": true, // Limit the width of the minimap to render at most a certain number of columns. "editor.minimap.maxColumn": 120, // Render the actual characters on a line as opposed to color blocks. "editor.minimap.renderCharacters": true, // Controls whether the minimap slider is automatically hidden. "editor.minimap.showSlider": "mouseover", // Controls the side where to render the minimap. "editor.minimap.side": "right", // A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events. "editor.mouseWheelScrollSensitivity": 1, // Zoom the font of the editor when using mouse wheel and holding `Ctrl`. "editor.mouseWheelZoom": false, // The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier). // - ctrlCmd: Maps to `Control` on Windows and Linux and to `Command` on macOS. // - alt: Maps to `Alt` on Windows and Linux and to `Option` on macOS. "editor.multiCursorModifier": "alt", // Controls whether the editor should highlight semantic symbol occurrences. "editor.occurrencesHighlight": true, // Controls whether a border should be drawn around the overview ruler. "editor.overviewRulerBorder": true, // Controls the number of decorations that can show up at the same position in the overview ruler. "editor.overviewRulerLanes": 3, // Controls whether the parameter hints menu cycles or closes when reaching the end of the list. "editor.parameterHints.cycle": false, // Enables a pop-up that shows parameter documentation and type information as you type. "editor.parameterHints.enabled": true, // Controls whether suggestions should automatically show up while typing. "editor.quickSuggestions": { "other": true, "comments": false, "strings": false }, // Controls the delay in milliseconds after which quick suggestions will show up. "editor.quickSuggestionsDelay": 10, // Controls whether the editor should render control characters. "editor.renderControlCharacters": false, // Render last line number when the file ends with a newline. "editor.renderFinalNewline": true, // Controls whether the editor should render indent guides. "editor.renderIndentGuides": true, // Controls how the editor should render the current line highlight. // - none // - gutter // - line // - all: Highlights both the gutter and the current line. "editor.renderLineHighlight": "line", // Controls how the editor should render whitespace characters. // - none // - boundary: Render whitespace characters except for single spaces between words. // - all "editor.renderWhitespace": "none", // Controls whether selections should have rounded corners. "editor.roundedSelection": true, // Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty. "editor.rulers": [], // Controls the number of extra characters beyond which the editor will scroll horizontally. "editor.scrollBeyondLastColumn": 5, // Controls whether the editor will scroll beyond the last line. "editor.scrollBeyondLastLine": true, // Controls whether the Linux primary clipboard should be supported. "editor.selectionClipboard": true, // Controls whether the editor should highlight matches similar to the selection. "editor.selectionHighlight": true, // Controls whether the fold controls on the gutter are automatically hidden. "editor.showFoldingControls": "mouseover", // Controls fading out of unused code. "editor.showUnused": true, // Controls whether the editor will scroll using an animation. "editor.smoothScrolling": false, // Controls whether snippets are shown with other suggestions and how they are sorted. // - top: Show snippet suggestions on top of other suggestions. // - bottom: Show snippet suggestions below other suggestions. // - inline: Show snippets suggestions with other suggestions. // - none: Do not show snippet suggestions. "editor.snippetSuggestions": "inline", // Keep peek editors open even when double clicking their content or when hitting `Escape`. "editor.stablePeek": false, // Controls whether filtering and sorting suggestions accounts for small typos. "editor.suggest.filterGraceful": true, // Controls whether sorting favours words that appear close to the cursor. "editor.suggest.localityBonus": false, // Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `editor.suggestSelection`). "editor.suggest.shareSuggestSelections": false, // Control whether an active snippet prevents quick suggestions. "editor.suggest.snippetsPreventQuickSuggestions": true, // Font size for the suggest widget. When set to `0`, the value of `editor.fontSize` is used. "editor.suggestFontSize": 0, // Line height for the suggest widget. When set to `0`, the value of `editor.lineHeight` is used. "editor.suggestLineHeight": 0, // Controls whether suggestions should automatically show up when typing trigger characters. "editor.suggestOnTriggerCharacters": true, // Controls how suggestions are pre-selected when showing the suggest list. // - first: Always select the first suggestion. // - recentlyUsed: Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently. // - recentlyUsedByPrefix: Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`. "editor.suggestSelection": "recentlyUsed", // Enables tab completions. // - on: Tab complete will insert the best matching suggestion when pressing tab. // - off: Disable tab completions. // - onlySnippets: Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled. "editor.tabCompletion": "off", // The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on. "editor.tabSize": 4, // Overrides editor colors and font style from the currently selected color theme. "editor.tokenColorCustomizations": {}, // Remove trailing auto inserted whitespace. "editor.trimAutoWhitespace": true, // Inserting and deleting whitespace follows tab stops. "editor.useTabStops": true, // Controls whether completions should be computed based on words in the document. "editor.wordBasedSuggestions": true, // Characters that will be used as word separators when doing word related navigations or operations. "editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?", // Controls how lines should wrap. // - off: Lines will never wrap. // - on: Lines will wrap at the viewport width. // - wordWrapColumn: Lines will wrap at `editor.wordWrapColumn`. // - bounded: Lines will wrap at the minimum of viewport and `editor.wordWrapColumn`. "editor.wordWrap": "off", // Controls the wrapping column of the editor when `editor.wordWrap` is `wordWrapColumn` or `bounded`. "editor.wordWrapColumn": 80, // Controls the indentation of wrapped lines. // - none: No indentation. Wrapped lines begin at column 1. // - same: Wrapped lines get the same indentation as the parent. // - indent: Wrapped lines get +1 indentation toward the parent. // - deepIndent: Wrapped lines get +2 indentation toward the parent. "editor.wrappingIndent": "same", // SCM // Controls whether inline actions are always visible in the Source Control view. "scm.alwaysShowActions": false, // Controls whether to always show the Source Control Provider section. "scm.alwaysShowProviders": false, // Controls diff decorations in the editor. "scm.diffDecorations": "all", // Controls the width(px) of diff decorations in gutter (added & modified). "scm.diffDecorationsGutterWidth": 3, // Workbench // Controls the visibility of the activity bar in the workbench. "workbench.activityBar.visible": true, // Overrides colors from the currently selected color theme. "workbench.colorCustomizations": {}, // Specifies the color theme used in the workbench. "workbench.colorTheme": "Default Dark+", // Controls the number of recently used commands to keep in history for the command palette. Set to 0 to disable command history. "workbench.commandPalette.history": 50, // Controls whether the last typed input to the command palette should be restored when opening it the next time. "workbench.commandPalette.preserveInput": false, // Controls if the centered layout should automatically resize to maximum width when more than one group is open. Once only one group is open it will resize back to the original centered width. "workbench.editor.centeredLayoutAutoResize": true, // Controls the behavior of empty editor groups when the last tab in the group is closed. When enabled, empty groups will automatically close. When disabled, empty groups will remain part of the grid. "workbench.editor.closeEmptyGroups": true, // Controls whether editors showing a file that was opened during the session should close automatically when getting deleted or renamed by some other process. Disabling this will keep the editor open on such an event. Note that deleting from within the application will always close the editor and that dirty files will never close to preserve your data. "workbench.editor.closeOnFileDelete": false, // Controls whether opened editors show as preview. Preview editors are reused until they are pinned (e.g. via double click or editing) and show up with an italic font style. "workbench.editor.enablePreview": true, // Controls whether opened editors from Quick Open show as preview. Preview editors are reused until they are pinned (e.g. via double click or editing). "workbench.editor.enablePreviewFromQuickOpen": true, // Controls whether tabs are closed in most recently used order or from left to right. "workbench.editor.focusRecentEditorAfterClose": true, // Controls whether a top border is drawn on modified (dirty) editor tabs or not. "workbench.editor.highlightModifiedTabs": false, // Controls the format of the label for an editor. // - default: Show the name of the file. When tabs are enabled and two files have the same name in one group the distinguishing sections of each file's path are added. When tabs are disabled, the path relative to the workspace folder is shown if the editor is active. // - short: Show the name of the file followed by its directory name. // - medium: Show the name of the file followed by its path relative to the workspace folder. // - long: Show the name of the file followed by its absolute path. "workbench.editor.labelFormat": "default", // Controls where editors open. Select `left` or `right` to open editors to the left or right of the currently active one. Select `first` or `last` to open editors independently from the currently active one. "workbench.editor.openPositioning": "right", // Controls the default direction of editors that are opened side by side (e.g. from the explorer). By default, editors will open on the right hand side of the currently active one. If changed to `down`, the editors will open below the currently active one. "workbench.editor.openSideBySideDirection": "right", // Restores the last view state (e.g. scroll position) when re-opening files after they have been closed. "workbench.editor.restoreViewState": true, // Controls whether an editor is revealed in any of the visible groups if opened. If disabled, an editor will prefer to open in the currently active editor group. If enabled, an already opened editor will be revealed instead of opened again in the currently active editor group. Note that there are some cases where this setting is ignored, e.g. when forcing an editor to open in a specific group or to the side of the currently active group. "workbench.editor.revealIfOpen": false, // Controls whether opened editors should show with an icon or not. This requires an icon theme to be enabled as well. "workbench.editor.showIcons": true, // Controls whether opened editors should show in tabs or not. "workbench.editor.showTabs": true, // Navigate between open files using three-finger swipe horizontally. "workbench.editor.swipeToNavigate": false, // Controls the position of the editor's tabs close buttons, or disables them when set to 'off'. "workbench.editor.tabCloseButton": "right", // Controls the sizing of editor tabs. // - fit: Always keep tabs large enough to show the full editor label. // - shrink: Allow tabs to get smaller when the available space is not enough to show all tabs at once. "workbench.editor.tabSizing": "fit", // Controls font aliasing method in the workbench. // - default: Sub-pixel font smoothing. On most non-retina displays this will give the sharpest text. // - antialiased: Smooth the font on the level of the pixel, as opposed to the subpixel. Can make the font appear lighter overall. // - none: Disables font smoothing. Text will show with jagged sharp edges. // - auto: Applies `default` or `antialiased` automatically based on the DPI of displays. "workbench.fontAliasing": "default", // Specifies the icon theme used in the workbench or 'null' to not show any file icons. // - null: No file icons // - vs-minimal // - vs-seti "workbench.iconTheme": "vs-seti", // Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut. "workbench.list.automaticKeyboardNavigation": true, // Controls whether lists and trees support horizontal scrolling in the workbench. "workbench.list.horizontalScrolling": false, // Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter. // - simple: Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes. // - highlight: Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements. // - filter: Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input. "workbench.list.keyboardNavigation": "highlight", // The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier. // - ctrlCmd: Maps to `Control` on Windows and Linux and to `Command` on macOS. // - alt: Maps to `Alt` on Windows and Linux and to `Option` on macOS. "workbench.list.multiSelectModifier": "ctrlCmd", // Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. "workbench.list.openMode": "singleClick", // Controls the default location of the panel (terminal, debug console, output, problems). It can either show at the bottom or on the right of the workbench. "workbench.panel.defaultLocation": "bottom", // Controls whether Quick Open should close automatically once it loses focus. "workbench.quickOpen.closeOnFocusLost": true, // Controls whether the last typed input to Quick Open should be restored when opening it the next time. "workbench.quickOpen.preserveInput": false, // Determines which settings editor to use by default. // - ui: Use the settings UI editor. // - json: Use the JSON file editor. "workbench.settings.editor": "ui", // Controls whether to enable the natural language search mode for settings. The natural language search is provided by a Microsoft online service. "workbench.settings.enableNaturalLanguageSearch": true, // Controls whether opening keybinding settings also opens an editor showing all default keybindings. "workbench.settings.openDefaultKeybindings": false, // Controls whether opening settings also opens an editor showing all default settings. "workbench.settings.openDefaultSettings": false, // Controls the behavior of the settings editor Table of Contents while searching. // - hide: Hide the Table of Contents while searching. // - filter: Filter the Table of Contents to just categories that have matching settings. Clicking a category will filter the results to that category. "workbench.settings.settingsSearchTocBehavior": "filter", // Controls whether to use the split JSON editor when editing settings as JSON. "workbench.settings.useSplitJSON": false, // Controls the location of the sidebar. It can either show on the left or right of the workbench. "workbench.sideBar.location": "left", // Controls which editor is shown at startup, if none are restored from the previous session. // - none: Start without an editor. // - welcomePage: Open the Welcome page (default). // - readme: Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise. // - newUntitledFile: Open a new untitled file (only applies when opening an empty workspace). // - welcomePageInEmptyWorkbench: Open the Welcome page when opening an empty workbench. "workbench.startupEditor": "welcomePage", // Controls the visibility of the Twitter feedback (smiley) in the status bar at the bottom of the workbench. "workbench.statusBar.feedback.visible": true, // Controls the visibility of the status bar at the bottom of the workbench. "workbench.statusBar.visible": true, // When enabled, will show the watermark tips when no editor is open. "workbench.tips.enabled": true, // Controls tree indentation in pixels. "workbench.tree.indent": 8, // Controls the visibility of view header actions. View header actions may either be always visible, or only visible when that view is focused or hovered over. "workbench.view.alwaysShowHeaderActions": false, // Window // If enabled, will automatically change to high contrast theme if Windows is using a high contrast theme, and to dark theme when switching away from a Windows high contrast theme. "window.autoDetectHighContrast": true, // If enabled, clicking on an inactive window will both activate the window and trigger the element under the mouse if it is clickable. If disabled, clicking anywhere on an inactive window will activate it only and a second click is required on the element. "window.clickThroughInactive": true, // Controls whether closing the last editor should also close the window. This setting only applies for windows that do not show folders. "window.closeWhenEmpty": false, // If enabled, double clicking the application icon in the title bar will close the window and the window cannot be dragged by the icon. This setting only has an effect when `window.titleBarStyle` is set to `custom`. "window.doubleClickIconToClose": false, // Enables macOS Sierra window tabs. Note that changes require a full restart to apply and that native tabs will disable a custom title bar style if configured. "window.nativeTabs": false, // If enabled, the main menus can be opened via Alt-key shortcuts. Disabling mnemonics allows to bind these Alt-key shortcuts to editor commands instead. "window.enableMenuBarMnemonics": true, // Control the visibility of the menu bar. A setting of 'toggle' means that the menu bar is hidden and a single press of the Alt key will show it. By default, the menu bar will be visible, unless the window is full screen. // - default: Menu is only hidden in full screen mode. // - visible: Menu is always visible even in full screen mode. // - toggle: Menu is hidden but can be displayed via Alt key. // - hidden: Menu is always hidden. "window.menuBarVisibility": "default", // Controls the dimensions of opening a new window when at least one window is already opened. Note that this setting does not have an impact on the first window that is opened. The first window will always restore the size and location as you left it before closing. // - default: Open new windows in the center of the screen. // - inherit: Open new windows with same dimension as last active one. // - maximized: Open new windows maximized. // - fullscreen: Open new windows in full screen mode. "window.newWindowDimensions": "default", // Controls whether files should open in a new window. // Note that there can still be cases where this setting is ignored (e.g. when using the `--new-window` or `--reuse-window` command line option). // - on: Files will open in a new window. // - off: Files will open in the window with the files' folder open or the last active window. // - default: Files will open in a new window unless picked from within the application (e.g. via the File menu). "window.openFilesInNewWindow": "off", // Controls whether folders should open in a new window or replace the last active window. // Note that there can still be cases where this setting is ignored (e.g. when using the `--new-window` or `--reuse-window` command line option). // - on: Folders will open in a new window. // - off: Folders will replace the last active window. // - default: Folders will open in a new window unless a folder is picked from within the application (e.g. via the File menu). "window.openFoldersInNewWindow": "default", // Controls whether a new empty window should open when starting a second instance without arguments or if the last running instance should get focus. // Note that there can still be cases where this setting is ignored (e.g. when using the `--new-window` or `--reuse-window` command line option). // - on: Open a new empty window. // - off: Focus the last active running instance. "window.openWithoutArgumentsInNewWindow": "on", // Controls whether a window should restore to full screen mode if it was exited in full screen mode. "window.restoreFullscreen": false, // Controls how windows are being reopened after a restart. // - all: Reopen all windows. // - folders: Reopen all folders. Empty workspaces will not be restored. // - one: Reopen the last active window. // - none: Never reopen a window. Always start with an empty one. "window.restoreWindows": "one", // Controls the window title based on the active editor. Variables are substituted based on the context: // - `${activeEditorShort}`: the file name (e.g. myFile.txt). // - `${activeEditorMedium}`: the path of the file relative to the workspace folder (e.g. myFolder/myFileFolder/myFile.txt). // - `${activeEditorLong}`: the full path of the file (e.g. /Users/Development/myFolder/myFileFolder/myFile.txt). // - `${activeFolderShort}`: the name of the folder the file is contained in (e.g. myFileFolder). // - `${activeFolderMedium}`: the path of the folder the file is contained in, relative to the workspace folder (e.g. myFolder/myFileFolder). // - `${activeFolderLong}`: the full path of the folder the file is contained in (e.g. /Users/Development/myFolder/myFileFolder). // - `${folderName}`: name of the workspace folder the file is contained in (e.g. myFolder). // - `${folderPath}`: file path of the workspace folder the file is contained in (e.g. /Users/Development/myFolder). // - `${rootName}`: name of the workspace (e.g. myFolder or myWorkspace). // - `${rootPath}`: file path of the workspace (e.g. /Users/Development/myWorkspace). // - `${appName}`: e.g. VS Code. // - `${dirty}`: a dirty indicator if the active editor is dirty. // - `${separator}`: a conditional separator (" - ") that only shows when surrounded by variables with values or static text. "window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName}", // Adjust the appearance of the window title bar. On Linux and Windows, this setting also affects the application and context menu appearances. Changes require a full restart to apply. "window.titleBarStyle": "custom", // Adjust the zoom level of the window. The original size is 0 and each increment above (e.g. 1) or below (e.g. -1) represents zooming 20% larger or smaller. You can also enter decimals to adjust the zoom level with a finer granularity. "window.zoomLevel": 0, // Files // Configure file associations to languages (e.g. `"*.extension": "html"`). These have precedence over the default associations of the languages installed. "files.associations": {}, // When enabled, the editor will attempt to guess the character set encoding when opening files. This setting can also be configured per language. "files.autoGuessEncoding": false, // Controls auto save of dirty files. Read more about autosave [here](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save). // - off: A dirty file is never automatically saved. // - afterDelay: A dirty file is automatically saved after the configured `files.autoSaveDelay`. // - onFocusChange: A dirty file is automatically saved when the editor loses focus. // - onWindowChange: A dirty file is automatically saved when the window loses focus. "files.autoSave": "off", // Controls the delay in ms after which a dirty file is saved automatically. Only applies when `files.autoSave` is set to `afterDelay`. "files.autoSaveDelay": 1000, // The default language mode that is assigned to new files. "files.defaultLanguage": "", // Moves files/folders to the OS trash (recycle bin on Windows) when deleting. Disabling this will delete files/folders permanently. "files.enableTrash": true, // The default character set encoding to use when reading and writing files. This setting can also be configured per language. "files.encoding": "utf8", // The default end of line character. // - \n: LF // - \r\n: CRLF // - auto: Uses operating system specific end of line character. "files.eol": "auto", // Configure glob patterns for excluding files and folders. For example, the files explorer decides which files and folders to show or hide based on this setting. Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options). "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true }, // Controls whether unsaved files are remembered between sessions, allowing the save prompt when exiting the editor to be skipped. // - off: Disable hot exit. // - onExit: Hot exit will be triggered when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (command palette, keybinding, menu). All windows with backups will be restored upon next launch. // - onExitAndWindowClose: Hot exit will be triggered when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (command palette, keybinding, menu), and also for any window with a folder opened regardless of whether it's the last window. All windows without folders opened will be restored upon next launch. To restore folder windows as they were before shutdown set `window.restoreWindows` to `all`. "files.hotExit": "onExit", // When enabled, insert a final new line at the end of the file when saving it. "files.insertFinalNewline": false, // Controls the memory available to VS Code after restart when trying to open large files. Same effect as specifying `--max-memory=NEWSIZE` on the command line. "files.maxMemoryForLargeFilesMB": 4096, // When enabled, will trim all new lines after the final new line at the end of the file when saving it. "files.trimFinalNewlines": false, // When enabled, will trim trailing whitespace when saving a file. "files.trimTrailingWhitespace": false, // Configure glob patterns of file paths to exclude from file watching. Patterns must match on absolute paths (i.e. prefix with ** or the full path to match properly). Changing this setting requires a restart. When you experience Code consuming lots of cpu time on startup, you can exclude large folders to reduce the initial load. "files.watcherExclude": { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/*/**": true }, // Zen Mode // Controls whether turning on Zen Mode also centers the layout. "zenMode.centerLayout": true, // Controls whether turning on Zen Mode also puts the workbench into full screen mode. "zenMode.fullScreen": true, // Controls whether turning on Zen Mode also hides the activity bar at the left of the workbench. "zenMode.hideActivityBar": true, // Controls whether turning on Zen Mode also hides the editor line numbers. "zenMode.hideLineNumbers": true, // Controls whether turning on Zen Mode also hides the status bar at the bottom of the workbench. "zenMode.hideStatusBar": true, // Controls whether turning on Zen Mode also hides workbench tabs. "zenMode.hideTabs": true, // Controls whether a window should restore to zen mode if it was exited in zen mode. "zenMode.restore": false, // File Explorer // Controls whether the explorer should automatically reveal and select files when opening them. "explorer.autoReveal": true, // Controls whether the explorer should ask for confirmation when deleting a file via the trash. "explorer.confirmDelete": true, // Controls whether the explorer should ask for confirmation to move files and folders via drag and drop. "explorer.confirmDragAndDrop": true, // Controls whether file decorations should use badges. "explorer.decorations.badges": true, // Controls whether file decorations should use colors. "explorer.decorations.colors": true, // Controls whether the explorer should allow to move files and folders via drag and drop. "explorer.enableDragAndDrop": true, // Number of editors shown in the Open Editors pane. "explorer.openEditors.visible": 9, // Controls sorting order of files and folders in the explorer. // - default: Files and folders are sorted by their names, in alphabetical order. Folders are displayed before files. // - mixed: Files and folders are sorted by their names, in alphabetical order. Files are interwoven with folders. // - filesFirst: Files and folders are sorted by their names, in alphabetical order. Files are displayed before folders. // - type: Files and folders are sorted by their extensions, in alphabetical order. Folders are displayed before files. // - modified: Files and folders are sorted by last modified date, in descending order. Folders are displayed before files. "explorer.sortOrder": "default", // Search // Controls the positioning of the actionbar on rows in the search view. // - auto: Position the actionbar to the right when the search view is narrow, and immediately after the content when the search view is wide. // - right: Always position the actionbar to the right. "search.actionsPosition": "auto", // Controls whether the search results will be collapsed or expanded. // - auto: Files with less than 10 results are expanded. Others are collapsed. // - alwaysCollapse // - alwaysExpand "search.collapseResults": "auto", // Configure glob patterns for excluding files and folders in searches. Inherits all glob patterns from the `files.exclude` setting. Read more about glob patterns [here](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options). "search.exclude": { "**/node_modules": true, "**/bower_components": true }, // Controls whether to follow symlinks while searching. "search.followSymlinks": true, // Controls whether the search view should read or modify the shared find clipboard on macOS. "search.globalFindClipboard": false, // Controls whether the search will be shown as a view in the sidebar or as a panel in the panel area for more horizontal space. "search.location": "sidebar", // Whether to include results from recently opened files in the file results for Quick Open. "search.quickOpen.includeHistory": true, // Whether to include results from a global symbol search in the file results for Quick Open. "search.quickOpen.includeSymbols": false, // Controls whether to show line numbers for search results. "search.showLineNumbers": false, // Search case-insensitively if the pattern is all lowercase, otherwise, search case-sensitively. "search.smartCase": false, // Controls whether to use global `.gitignore` and `.ignore` files when searching for files. "search.useGlobalIgnoreFiles": false, // Controls whether to use `.gitignore` and `.ignore` files when searching for files. "search.useIgnoreFiles": true, // Whether to use the PCRE2 regex engine in text search. This enables using some advanced regex features like lookahead and backreferences. However, not all PCRE2 features are supported - only features that are also supported by JavaScript. "search.usePCRE2": false, // Controls whether to open Replace Preview when selecting or replacing a match. "search.useReplacePreview": true, // HTTP // The proxy setting to use. If not set will be taken from the http_proxy and https_proxy environment variables. "http.proxy": "", // The value to send as the 'Proxy-Authorization' header for every network request. "http.proxyAuthorization": null, // Controls whether the proxy server certificate should be verified against the list of supplied CAs. "http.proxyStrictSSL": true, // Use the proxy support for extensions. // - off: Disable proxy support for extensions. // - on: Enable proxy support for extensions. // - override: Enable proxy support for extensions, override request options. "http.proxySupport": "override", // Keyboard // Controls the dispatching logic for key presses to use either `code` (recommended) or `keyCode`. "keyboard.dispatch": "code", // Enables the macOS touchbar buttons on the keyboard if available. "keyboard.touchbar.enabled": true, // Update // Enables Windows background updates. The updates are fetched from a Microsoft online service. "update.enableWindowsBackgroundUpdates": true, // Configure whether you receive automatic updates. Requires a restart after change. The updates are fetched from a Microsoft online service. // - none: Disable updates. // - manual: Disable automatic background update checks. Updates will be available if you manually check for updates. // - default: Enable automatic update checks. Code will check for updates automatically and periodically. "update.mode": "default", // Show Release Notes after an update. The Release Notes are fetched from a Microsoft online service. "update.showReleaseNotes": true, // Debug // Allow setting breakpoints in any file. "debug.allowBreakpointsEverywhere": false, // Controls the font family in the debug console. "debug.console.fontFamily": "default", // Controls the font size in pixels in the debug console. "debug.console.fontSize": 14, // Controls the line height in pixels in the debug console. Use 0 to compute the line height from the font size. "debug.console.lineHeight": 0, // Controls whether the non-debug hovers should be enabled while debugging. When enabled the hover providers will be called to provide a hover. Regular hovers will not be shown even if this setting is enabled. "debug.enableAllHovers": false, // Show variable values inline in editor while debugging. "debug.inlineValues": false, // Controls when the internal debug console should open. "debug.internalConsoleOptions": "openOnFirstSessionStart", // Controls when the debug view should open. "debug.openDebug": "openOnSessionStart", // Automatically open the explorer view at the end of a debug session. "debug.openExplorerOnEnd": false, // Controls when the debug status bar should be visible. // - never: Never show debug in status bar // - always: Always show debug in status bar // - onFirstSessionStart: Show debug in status bar only after debug was started for the first time "debug.showInStatusBar": "onFirstSessionStart", // Controls the location of the debug toolbar. Either `floating` in all views, `docked` in the debug view, or `hidden`. "debug.toolBarLocation": "floating", // Global debug launch configuration. Should be used as an alternative to 'launch.json' that is shared across workspaces. "launch": { "configurations": [], "compounds": [] }, // HTML // Enable/disable autoclosing of HTML tags. "html.autoClosingTags": true, // List of tags, comma separated, where the content shouldn't be reformatted. `null` defaults to the `pre` tag. "html.format.contentUnformatted": "pre,code,textarea", // Enable/disable default HTML formatter. "html.format.enable": true, // End with a newline. "html.format.endWithNewline": false, // List of tags, comma separated, that should have an extra newline before them. `null` defaults to `"head, body, /html"`. "html.format.extraLiners": "head, body, /html", // Format and indent `{{#foo}}` and `{{/foo}}`. "html.format.indentHandlebars": false, // Indent `
` and `` sections. "html.format.indentInnerHtml": false, // Maximum number of line breaks to be preserved in one chunk. Use `null` for unlimited. "html.format.maxPreserveNewLines": null, // Controls whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text. "html.format.preserveNewLines": true, // List of tags, comma separated, that shouldn't be reformatted. `null` defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content. "html.format.unformatted": "wbr", // Wrap attributes. // - auto: Wrap attributes only when line length is exceeded. // - force: Wrap each attribute except first. // - force-aligned: Wrap each attribute except first and keep aligned. // - force-expand-multiline: Wrap each attribute. // - aligned-multiple: Wrap when line length is exceeded, align attributes vertically. // - preserve: Preserve wrapping of attributes // - preserve-aligned: Preserve wrapping of attributes but align. "html.format.wrapAttributes": "auto", // Maximum amount of characters per line (0 = disable). "html.format.wrapLineLength": 120, // Controls whether the built-in HTML language support suggests HTML5 tags, properties and values. "html.suggest.html5": true, // Traces the communication between VS Code and the HTML language server. "html.trace.server": "off", // Controls whether the built-in HTML language support validates embedded scripts. "html.validate.scripts": true, // Controls whether the built-in HTML language support validates embedded styles. "html.validate.styles": true, // JSON // Enable/disable default JSON formatter "json.format.enable": true, // Associate schemas to JSON files in the current project "json.schemas": [], // Traces the communication between VS Code and the JSON language server. "json.trace.server": "off", // Markdown // Sets how line-breaks are rendered in the markdown preview. Setting it to 'true' creates a