• User and Workspace Settings
    • Creating User and Workspace Settings
    • Settings File Locations
    • Default Settings
      • Settings groups
    • Language specific editor settings
    • Settings and security
      • Copy of Default Settings
    • Common Questions

    User and Workspace Settings

    It is easy to configure VS Code to your liking through 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 These settings apply globally to any instance of VS Code you open
    • Workspace These settings are stored inside your workspace in a .vscode folder and only apply when the workspace is opened. Settings defined on this scope override the user scope.

    Creating User and Workspace Settings

    To get to the user and workspace settings:

    • On a Windows computer, click File > Preferences > Settings
    • On a Mac, click Code > Preferences > Settings

    You are provided with a list of Default Settings. Copy any setting that you want to change to the appropriate settings.json file. The tabs on the right let you switch quickly between the user and workspace settings files.

    You can also open the user and workspace settings from the Command Palette (kb(workbench.action.showCommands)) with Preferences: Open User Settings and Preferences: Open Workspace Settings or use the keyboard shortcut (kb(workbench.action.openGlobalSettings)).

    In the example below, we disabled line numbers in the editor and configured line wrapping to wrap automatically based on the size of the editor.

    Example Settings

    Changes to settings are reloaded by VS Code after the modified settings.json file is saved.

    Note: Workspace settings are useful for sharing project specific settings across a team.

    Settings File Locations

    Depending on your platform, the user settings file is located here:

    • Windows %APPDATA%\Code\User\settings.json
    • Mac $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 project.

    Default Settings

    When you open settings, we show Default Settings to search and discover settings you are looking for. When you search using the big 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. There are actions available inside Default Settings and settings.json editors which will help you quickly copy or update a setting.


    settings groups

    Note: VS Code extensions can also add their own custom settings and they will be visible in the Default Settings list at runtime.

    Settings groups

    Default settings are represented in groups so that you can navigate them easily. It has Most Commonly Used group on the top to see the most common customizations done by VS Code users.

    Settings Groups

    Here is the copy of default settings that comes with VS Code.

    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.

    Configure language specific settings command

    Select language drop down

    Add language specific setting

    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.

    1. {
    2. "[typescript]": {
    3. "editor.formatOnSave": true,
    4. "editor.formatOnPaste": true
    5. },
    6. "[markdown]": {
    7. "editor.formatOnSave": true,
    8. "editor.wordWrap": "on",
    9. "editor.renderWhitespace": "all",
    10. "editor.acceptSuggestionOnEnter": "off"
    11. }
    12. }

    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

    In settings, we allow you to specify some of the executables that VS Code will run to do its work. 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 we don’t support at the workspace scope:

    • 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.

    Copy of Default Settings

    Below are the default settings and their values.

    1. {
    2. // Most Commonly Used
    3. // Controls auto save of dirty files. Accepted values: 'off', 'afterDelay', 'onFocusChange' (editor loses focus), 'onWindowChange' (window loses focus). If set to 'afterDelay', you can configure the delay in 'files.autoSaveDelay'.
    4. "files.autoSave": "off",
    5. // Controls the font size in pixels.
    6. "editor.fontSize": 14,
    7. // Controls the font family.
    8. "editor.fontFamily": "Consolas, 'Courier New', monospace",
    9. // The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
    10. "editor.tabSize": 4,
    11. // Controls how the editor should render whitespace characters, possibilities are 'none', 'boundary', and 'all'. The 'boundary' option does not render single spaces between words.
    12. "editor.renderWhitespace": "none",
    13. // Controls the cursor style, accepted values are 'block', 'block-outline', 'line', 'line-thin', 'underline' and 'underline-thin'
    14. "editor.cursorStyle": "line",
    15. // The modifier to be used to add multiple cursors with the mouse. `ctrlCmd` maps to `Control` on Windows and Linux and to `Command` on OSX. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier.
    16. "editor.multiCursorModifier": "alt",
    17. // Insert spaces when pressing Tab. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
    18. "editor.insertSpaces": true,
    19. // Controls how lines should wrap. Can be:
    20. // - 'off' (disable wrapping),
    21. // - 'on' (viewport wrapping),
    22. // - 'wordWrapColumn' (wrap at `editor.wordWrapColumn`) or
    23. // - 'bounded' (wrap at minimum of viewport and `editor.wordWrapColumn`).
    24. "editor.wordWrap": "off",
    25. // 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.
    26. "files.exclude": {
    27. "**/.git": true,
    28. "**/.svn": true,
    29. "**/.hg": true,
    30. "**/CVS": true,
    31. "**/.DS_Store": true
    32. },
    33. // Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed.
    34. "files.associations": {},
    35. // Editor
    36. // Controls if the diff editor shows changes in leading or trailing whitespace as diffs
    37. "diffEditor.ignoreTrimWhitespace": true,
    38. // Controls if the diff editor shows +/- indicators for added/removed changes
    39. "diffEditor.renderIndicators": true,
    40. // Controls if the diff editor shows the diff side by side or inline
    41. "diffEditor.renderSideBySide": true,
    42. // Controls if suggestions should be accepted on commit characters. For instance in JavaScript the semi-colon (';') can be a commit character that accepts a suggestion and types that character.
    43. "editor.acceptSuggestionOnCommitCharacter": true,
    44. // Controls if suggestions should be accepted on 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions. The value 'smart' means only accept a suggestion with Enter when it makes a textual change
    45. "editor.acceptSuggestionOnEnter": "on",
    46. // Controls whether the editor should run in a mode where it is optimized for screen readers.
    47. "editor.accessibilitySupport": "auto",
    48. // Controls if the editor should automatically close brackets after opening them
    49. "editor.autoClosingBrackets": true,
    50. // Controls if the editor should automatically adjust the indentation when users type, paste or move lines. Indentation rules of the language must be available.
    51. "editor.autoIndent": true,
    52. // Controls if the editor shows code lenses
    53. "editor.codeLens": true,
    54. // Controls whether the editor should render the inline color decorators and color picker.
    55. "editor.colorDecorators": true,
    56. // Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'
    57. "editor.cursorBlinking": "blink",
    58. // Controls the cursor style, accepted values are 'block', 'block-outline', 'line', 'line-thin', 'underline' and 'underline-thin'
    59. "editor.cursorStyle": "line",
    60. // When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
    61. "editor.detectIndentation": true,
    62. // Controls if the editor should allow to move selections via drag and drop.
    63. "editor.dragAndDrop": true,
    64. // Controls whether copying without a selection copies the current line.
    65. "editor.emptySelectionClipboard": true,
    66. // Controls if Find in Selection flag is turned on when multiple characters or lines of text are selected in the editor
    67. "editor.find.autoFindInSelection": false,
    68. // Controls if the Find Widget should read or modify the shared find clipboard on macOS
    69. "editor.find.globalFindClipboard": true,
    70. // Controls if we seed the search string in Find Widget from editor selection
    71. "editor.find.seedSearchStringFromSelection": true,
    72. // Controls whether the editor has code folding enabled
    73. "editor.folding": true,
    74. // Controls the font family.
    75. "editor.fontFamily": "Consolas, 'Courier New', monospace",
    76. // Enables font ligatures
    77. "editor.fontLigatures": false,
    78. // Controls the font size in pixels.
    79. "editor.fontSize": 14,
    80. // Controls the font weight.
    81. "editor.fontWeight": "normal",
    82. // Controls if 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.
    83. "editor.formatOnPaste": false,
    84. // Format a file on save. A formatter must be available, the file must not be auto-saved, and editor must not be shutting down.
    85. "editor.formatOnSave": false,
    86. // Controls if the editor should automatically format the line after typing
    87. "editor.formatOnType": false,
    88. // Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.
    89. "editor.glyphMargin": true,
    90. // Controls if the cursor should be hidden in the overview ruler.
    91. "editor.hideCursorInOverviewRuler": false,
    92. // Insert spaces when pressing Tab. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
    93. "editor.insertSpaces": true,
    94. // Controls the letter spacing in pixels.
    95. "editor.letterSpacing": 0,
    96. // Enables the code action lightbulb
    97. "editor.lightbulb.enabled": true,
    98. // Controls the line height. Use 0 to compute the lineHeight from the fontSize.
    99. "editor.lineHeight": 0,
    100. // Controls the display of line numbers. Possible values are 'on', 'off', and 'relative'.
    101. "editor.lineNumbers": "on",
    102. // Controls whether the editor should detect links and make them clickable
    103. "editor.links": true,
    104. // Highlight matching brackets when one of them is selected.
    105. "editor.matchBrackets": true,
    106. // Controls if the minimap is shown
    107. "editor.minimap.enabled": true,
    108. // Limit the width of the minimap to render at most a certain number of columns
    109. "editor.minimap.maxColumn": 120,
    110. // Render the actual characters on a line (as opposed to color blocks)
    111. "editor.minimap.renderCharacters": true,
    112. // Controls whether the minimap slider is automatically hidden. Possible values are 'always' and 'mouseover'
    113. "editor.minimap.showSlider": "mouseover",
    114. // A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events
    115. "editor.mouseWheelScrollSensitivity": 1,
    116. // Zoom the font of the editor when using mouse wheel and holding Ctrl
    117. "editor.mouseWheelZoom": false,
    118. // The modifier to be used to add multiple cursors with the mouse. `ctrlCmd` maps to `Control` on Windows and Linux and to `Command` on OSX. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier.
    119. "editor.multiCursorModifier": "alt",
    120. // Controls whether the editor should highlight semantic symbol occurrences
    121. "editor.occurrencesHighlight": true,
    122. // Controls if a border should be drawn around the overview ruler.
    123. "editor.overviewRulerBorder": true,
    124. // Controls the number of decorations that can show up at the same position in the overview ruler
    125. "editor.overviewRulerLanes": 3,
    126. // Enables pop-up that shows parameter documentation and type information as you type
    127. "editor.parameterHints": true,
    128. // Controls if suggestions should automatically show up while typing
    129. "editor.quickSuggestions": {
    130. "other": true,
    131. "comments": false,
    132. "strings": false
    133. },
    134. // Controls the delay in ms after which quick suggestions will show up
    135. "editor.quickSuggestionsDelay": 10,
    136. // Controls whether the editor should render control characters
    137. "editor.renderControlCharacters": false,
    138. // Controls whether the editor should render indent guides
    139. "editor.renderIndentGuides": true,
    140. // Controls how the editor should render the current line highlight, possibilities are 'none', 'gutter', 'line', and 'all'.
    141. "editor.renderLineHighlight": "line",
    142. // Controls how the editor should render whitespace characters, possibilities are 'none', 'boundary', and 'all'. The 'boundary' option does not render single spaces between words.
    143. "editor.renderWhitespace": "none",
    144. // Controls if selections have rounded corners
    145. "editor.roundedSelection": true,
    146. // Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty
    147. "editor.rulers": [],
    148. // Controls if the editor will scroll beyond the last line
    149. "editor.scrollBeyondLastLine": true,
    150. // Controls whether the editor should highlight similar matches to the selection
    151. "editor.selectionHighlight": true,
    152. // Controls whether the fold controls on the gutter are automatically hidden.
    153. "editor.showFoldingControls": "mouseover",
    154. // Controls if the editor will scroll using an animation
    155. "editor.smoothScrolling": false,
    156. // Controls whether snippets are shown with other suggestions and how they are sorted.
    157. "editor.snippetSuggestions": "inline",
    158. // Keep peek editors open even when double clicking their content or when hitting Escape.
    159. "editor.stablePeek": false,
    160. // Font size for the suggest widget
    161. "editor.suggestFontSize": 0,
    162. // Line height for the suggest widget
    163. "editor.suggestLineHeight": 0,
    164. // Controls if suggestions should automatically show up when typing trigger characters
    165. "editor.suggestOnTriggerCharacters": true,
    166. // Insert snippets when their prefix matches. Works best when 'quickSuggestions' aren't enabled.
    167. "editor.tabCompletion": false,
    168. // The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
    169. "editor.tabSize": 4,
    170. // Overrides editor colors and font style from the currently selected color theme.
    171. "editor.tokenColorCustomizations": {},
    172. // Remove trailing auto inserted whitespace
    173. "editor.trimAutoWhitespace": true,
    174. // Inserting and deleting whitespace follows tab stops
    175. "editor.useTabStops": true,
    176. // Controls whether completions should be computed based on words in the document.
    177. "editor.wordBasedSuggestions": true,
    178. // Characters that will be used as word separators when doing word related navigations or operations
    179. "editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",
    180. // Controls how lines should wrap. Can be:
    181. // - 'off' (disable wrapping),
    182. // - 'on' (viewport wrapping),
    183. // - 'wordWrapColumn' (wrap at `editor.wordWrapColumn`) or
    184. // - 'bounded' (wrap at minimum of viewport and `editor.wordWrapColumn`).
    185. "editor.wordWrap": "off",
    186. // Controls the wrapping column of the editor when `editor.wordWrap` is 'wordWrapColumn' or 'bounded'.
    187. "editor.wordWrapColumn": 80,
    188. // Controls the indentation of wrapped lines. Can be one of 'none', 'same' or 'indent'.
    189. "editor.wrappingIndent": "same",
    190. // Workbench
    191. // Controls the visibility of the activity bar in the workbench.
    192. "workbench.activityBar.visible": true,
    193. // Overrides colors from the currently selected color theme.
    194. "workbench.colorCustomizations": {},
    195. // Specifies the color theme used in the workbench.
    196. "workbench.colorTheme": "Default Dark+",
    197. // Controls the number of recently used commands to keep in history for the command palette. Set to 0 to disable command history.
    198. "workbench.commandPalette.history": 50,
    199. // Controls if the last typed input to the command palette should be restored when opening it the next time.
    200. "workbench.commandPalette.preserveInput": false,
    201. // Controls if editors showing a file should close automatically when the file is deleted or renamed by some other process. Disabling this will keep the editor open as dirty 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.
    202. "workbench.editor.closeOnFileDelete": true,
    203. // Controls if opened editors show as preview. Preview editors are reused until they are kept (e.g. via double click or editing) and show up with an italic font style.
    204. "workbench.editor.enablePreview": true,
    205. // Controls if opened editors from Quick Open show as preview. Preview editors are reused until they are kept (e.g. via double click or editing).
    206. "workbench.editor.enablePreviewFromQuickOpen": true,
    207. // Controls the format of the label for an editor. Changing this setting can for example make it easier to understand the location of a file:
    208. // - short: 'parent'
    209. // - medium: 'workspace/src/parent'
    210. // - long: '/home/user/workspace/src/parent'
    211. // - default: '.../parent', when another tab shares the same title, or the relative workspace path if tabs are disabled
    212. "workbench.editor.labelFormat": "default",
    213. // 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.
    214. "workbench.editor.openPositioning": "right",
    215. // Controls if 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.
    216. "workbench.editor.revealIfOpen": false,
    217. // Controls if opened editors should show with an icon or not. This requires an icon theme to be enabled as well.
    218. "workbench.editor.showIcons": true,
    219. // Controls if opened editors should show in tabs or not.
    220. "workbench.editor.showTabs": true,
    221. // Controls the position of the editor's tabs close buttons or disables them when set to 'off'.
    222. "workbench.editor.tabCloseButton": "right",
    223. // Controls the sizing of editor tabs. Set to 'fit' to keep tabs always large enough to show the full editor label. Set to 'shrink' to allow tabs to get smaller when the available space is not enough to show all tabs at once.
    224. "workbench.editor.tabSizing": "fit",
    225. // Specifies the icon theme used in the workbench or 'null' to not show any file icons.
    226. "workbench.iconTheme": "vs-seti",
    227. // Controls if Quick Open should close automatically once it loses focus.
    228. "workbench.quickOpen.closeOnFocusLost": true,
    229. // Controls whether to enable the natural language search mode for settings.
    230. "workbench.settings.enableNaturalLanguageSearch": true,
    231. // Controls if opening settings also opens an editor showing all default settings.
    232. "workbench.settings.openDefaultSettings": true,
    233. // Controls the location of the sidebar. It can either show on the left or right of the workbench.
    234. "workbench.sideBar.location": "left",
    235. // Controls which editor is shown at startup, if none is restored from the previous session. Select 'none' to start without an editor, 'welcomePage' to open the Welcome page (default), 'newUntitledFile' to open a new untitled file (only opening an empty workspace).
    236. "workbench.startupEditor": "welcomePage",
    237. // Controls the visibility of the status bar at the bottom of the workbench.
    238. "workbench.statusBar.visible": true,
    239. // When enabled, will show the watermark tips when no editor is open.
    240. "workbench.tips.enabled": true,
    241. // Window
    242. // Controls if closing the last editor should also close the window. This setting only applies for windows that do not show folders.
    243. "window.closeWhenEmpty": false,
    244. // 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.
    245. "window.enableMenuBarMnemonics": true,
    246. // 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.
    247. "window.menuBarVisibility": "default",
    248. // Controls the dimensions of opening a new window when at least one window is already opened. By default, a new window will open in the center of the screen with small dimensions. When set to 'inherit', the window will get the same dimensions as the last window that was active. When set to 'maximized', the window will open maximized and fullscreen if configured to 'fullscreen'. 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.
    249. "window.newWindowDimensions": "default",
    250. // Controls if files should open in a new window.
    251. // - default: files will open in the window with the files' folder open or the last active window unless opened via the dock or from finder (macOS only)
    252. // - on: files will open in a new window
    253. // - off: files will open in the window with the files' folder open or the last active window
    254. // 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).
    255. "window.openFilesInNewWindow": "off",
    256. // Controls if folders should open in a new window or replace the last active window.
    257. // - default: folders will open in a new window unless a folder is picked from within the application (e.g. via the File menu)
    258. // - on: folders will open in a new window
    259. // - off: folders will replace the last active window
    260. // 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).
    261. "window.openFoldersInNewWindow": "default",
    262. // Controls if a window should restore to full screen mode if it was exited in full screen mode.
    263. "window.restoreFullscreen": false,
    264. // Controls how windows are being reopened after a restart. Select 'none' to always start with an empty workspace, 'one' to reopen the last window you worked on, 'folders' to reopen all windows that had folders opened or 'all' to reopen all windows of your last session.
    265. "window.restoreWindows": "one",
    266. // Controls the window title based on the active editor. Variables are substituted based on the context:
    267. // ${activeEditorShort}: the file name (e.g. myFile.txt)
    268. // ${activeEditorMedium}: the path of the file relative to the workspace folder (e.g. myFolder/myFile.txt)
    269. // ${activeEditorLong}: the full path of the file (e.g. /Users/Development/myProject/myFolder/myFile.txt)
    270. // ${folderName}: name of the workspace folder the file is contained in (e.g. myFolder)
    271. // ${folderPath}: file path of the workspace folder the file is contained in (e.g. /Users/Development/myFolder)
    272. // ${rootName}: name of the workspace (e.g. myFolder or myWorkspace)
    273. // ${rootPath}: file path of the workspace (e.g. /Users/Development/myWorkspace)
    274. // ${appName}: e.g. VS Code
    275. // ${dirty}: a dirty indicator if the active editor is dirty
    276. // ${separator}: a conditional separator (" - ") that only shows when surrounded by variables with values
    277. "window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName}",
    278. // 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.
    279. "window.zoomLevel": 0,
    280. // Files
    281. // Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed.
    282. "files.associations": {},
    283. // When enabled, will attempt to guess the character set encoding when opening files. This setting can be configured per language too.
    284. "files.autoGuessEncoding": false,
    285. // Controls auto save of dirty files. Accepted values: 'off', 'afterDelay', 'onFocusChange' (editor loses focus), 'onWindowChange' (window loses focus). If set to 'afterDelay', you can configure the delay in 'files.autoSaveDelay'.
    286. "files.autoSave": "off",
    287. // Controls the delay in ms after which a dirty file is saved automatically. Only applies when 'files.autoSave' is set to 'afterDelay'
    288. "files.autoSaveDelay": 1000,
    289. // The default language mode that is assigned to new files.
    290. "files.defaultLanguage": "",
    291. // The default character set encoding to use when reading and writing files. This setting can be configured per language too.
    292. "files.encoding": "utf8",
    293. // The default end of line character. Use \n for LF and \r\n for CRLF.
    294. "files.eol": "\r\n",
    295. // 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.
    296. "files.exclude": {
    297. "**/.git": true,
    298. "**/.svn": true,
    299. "**/.hg": true,
    300. "**/CVS": true,
    301. "**/.DS_Store": true
    302. },
    303. // Controls whether unsaved files are remembered between sessions, allowing the save prompt when exiting the editor to be skipped.
    304. "files.hotExit": "onExit",
    305. // When enabled, insert a final new line at the end of the file when saving it.
    306. "files.insertFinalNewline": false,
    307. // When enabled, will trim all new lines after the final new line at the end of the file when saving it.
    308. "files.trimFinalNewlines": false,
    309. // When enabled, will trim trailing whitespace when saving a file.
    310. "files.trimTrailingWhitespace": false,
    311. // Use the new experimental file watcher.
    312. "files.useExperimentalFileWatcher": false,
    313. // 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.
    314. "files.watcherExclude": {
    315. "**/.git/objects/**": true,
    316. "**/.git/subtree-cache/**": true,
    317. "**/node_modules/*/**": true
    318. },
    319. // Zen Mode
    320. // Controls if turning on Zen Mode also puts the workbench into full screen mode.
    321. "zenMode.fullScreen": true,
    322. // Controls if turning on Zen Mode also hides the activity bar at the left of the workbench.
    323. "zenMode.hideActivityBar": true,
    324. // Controls if turning on Zen Mode also hides the status bar at the bottom of the workbench.
    325. "zenMode.hideStatusBar": true,
    326. // Controls if turning on Zen Mode also hides workbench tabs.
    327. "zenMode.hideTabs": true,
    328. // Controls if a window should restore to zen mode if it was exited in zen mode.
    329. "zenMode.restore": false,
    330. // File Explorer
    331. // Controls if the explorer should automatically reveal and select files when opening them.
    332. "explorer.autoReveal": true,
    333. // Controls if the explorer should ask for confirmation when deleting a file via the trash.
    334. "explorer.confirmDelete": true,
    335. // Controls if the explorer should ask for confirmation to move files and folders via drag and drop.
    336. "explorer.confirmDragAndDrop": true,
    337. // Controls if file decorations should use badges.
    338. "explorer.decorations.badges": true,
    339. // Controls if file decorations should use colors.
    340. "explorer.decorations.colors": true,
    341. // Controls if the explorer should allow to move files and folders via drag and drop.
    342. "explorer.enableDragAndDrop": true,
    343. // Controls if the height of the open editors section should adapt dynamically to the number of elements or not.
    344. "explorer.openEditors.dynamicHeight": true,
    345. // Number of editors shown in the Open Editors pane. Set it to 0 to hide the pane.
    346. "explorer.openEditors.visible": 9,
    347. // Controls sorting order of files and folders in the explorer. In addition to the default sorting, you can set the order to 'mixed' (files and folders sorted combined), 'type' (by file type), 'modified' (by last modified date) or 'filesFirst' (sort files before folders).
    348. "explorer.sortOrder": "default",
    349. // Search
    350. // Configure glob patterns for excluding files and folders in searches. Inherits all glob patterns from the files.exclude setting.
    351. "search.exclude": {
    352. "**/node_modules": true,
    353. "**/bower_components": true
    354. },
    355. // Controls whether to follow symlinks while searching.
    356. "search.followSymlinks": true,
    357. // Configure to include results from a global symbol search in the file results for Quick Open.
    358. "search.quickOpen.includeSymbols": false,
    359. // Controls whether to use .gitignore and .ignore files when searching for files.
    360. "search.useIgnoreFiles": true,
    361. // Controls whether to use ripgrep in text and file search
    362. "search.useRipgrep": true,
    363. // HTTP
    364. // The proxy setting to use. If not set will be taken from the http_proxy and https_proxy environment variables
    365. "http.proxy": "",
    366. // The value to send as the 'Proxy-Authorization' header for every network request.
    367. "http.proxyAuthorization": null,
    368. // Whether the proxy server certificate should be verified against the list of supplied CAs.
    369. "http.proxyStrictSSL": true,
    370. // Update
    371. // Configure whether you receive automatic updates from an update channel. Requires a restart after change.
    372. "update.channel": "default",
    373. // Debug
    374. // Allows setting breakpoint in any file
    375. "debug.allowBreakpointsEverywhere": false,
    376. // Controls if the floating debug action bar should be hidden
    377. "debug.hideActionBar": false,
    378. // Show variable values inline in editor while debugging
    379. "debug.inlineValues": false,
    380. // Controls behavior of the internal debug console.
    381. "debug.internalConsoleOptions": "openOnFirstSessionStart",
    382. // Controls whether debug viewlet should be open on debugging session start.
    383. "debug.openDebug": "openOnFirstSessionStart",
    384. // Automatically open explorer view on the end of a debug session
    385. "debug.openExplorerOnEnd": false,
    386. // Controls when the debug status bar should be visible
    387. "debug.showInStatusBar": "onFirstSessionStart",
    388. // Global debug launch configuration. Should be used as an alternative to 'launch.json' that is shared across workspaces
    389. "launch": {},
    390. // HTML
    391. // Enable/disable autoclosing of HTML tags.
    392. "html.autoClosingTags": true,
    393. // List of tags, comma separated, where the content shouldn't be reformatted. 'null' defaults to the 'pre' tag.
    394. "html.format.contentUnformatted": "pre,code,textarea",
    395. // Enable/disable default HTML formatter
    396. "html.format.enable": true,
    397. // End with a newline.
    398. "html.format.endWithNewline": false,
    399. // List of tags, comma separated, that should have an extra newline before them. 'null' defaults to "head, body, /html".
    400. "html.format.extraLiners": "head, body, /html",
    401. // Format and indent {{#foo}} and {{/foo}}.
    402. "html.format.indentHandlebars": false,
    403. // Indent <head> and <body> sections.
    404. "html.format.indentInnerHtml": false,
    405. // Maximum number of line breaks to be preserved in one chunk. Use 'null' for unlimited.
    406. "html.format.maxPreserveNewLines": null,
    407. // Whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text.
    408. "html.format.preserveNewLines": true,
    409. // 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.
    410. "html.format.unformatted": "wbr",
    411. // Wrap attributes.
    412. "html.format.wrapAttributes": "auto",
    413. // Maximum amount of characters per line (0 = disable).
    414. "html.format.wrapLineLength": 120,
    415. // Configures if the built-in HTML language support suggests Angular V1 tags and properties.
    416. "html.suggest.angular1": true,
    417. // Configures if the built-in HTML language support suggests HTML5 tags, properties and values.
    418. "html.suggest.html5": true,
    419. // Configures if the built-in HTML language support suggests Ionic tags, properties and values.
    420. "html.suggest.ionic": true,
    421. // Traces the communication between VS Code and the HTML language server.
    422. "html.trace.server": "off",
    423. // Configures if the built-in HTML language support validates embedded scripts.
    424. "html.validate.scripts": true,
    425. // Configures if the built-in HTML language support validates embedded styles.
    426. "html.validate.styles": true,
    427. // JSON
    428. // Enable/disable default JSON formatter (requires restart)
    429. "json.format.enable": true,
    430. // Associate schemas to JSON files in the current project
    431. "json.schemas": [],
    432. // Traces the communication between VS Code and the JSON language server.
    433. "json.trace.server": "off",
    434. // Markdown
    435. // Sets how line-breaks are rendered in the markdown preview. Setting it to 'true' creates a <br> for every newline.
    436. "markdown.preview.breaks": false,
    437. // Double click in the markdown preview to switch to the editor.
    438. "markdown.preview.doubleClickToSwitchToEditor": true,
    439. // Controls the font family used in the markdown preview.
    440. "markdown.preview.fontFamily": "-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', 'HelveticaNeue-Light', 'Ubuntu', 'Droid Sans', sans-serif",
    441. // Controls the font size in pixels used in the markdown preview.
    442. "markdown.preview.fontSize": 14,
    443. // Controls the line height used in the markdown preview. This number is relative to the font size.
    444. "markdown.preview.lineHeight": 1.6,
    445. // Enable or disable conversion of URL-like text to links in the markdown preview.
    446. "markdown.preview.linkify": true,
    447. // Mark the current editor selection in the markdown preview.
    448. "markdown.preview.markEditorSelection": true,
    449. // When the markdown preview is scrolled, update the view of the editor.
    450. "markdown.preview.scrollEditorWithPreview": true,
    451. // Scrolls the markdown preview to reveal the currently selected line from the editor.
    452. "markdown.preview.scrollPreviewWithEditorSelection": true,
    453. // Sets how YAML front matter should be rendered in the markdown preview. 'hide' removes the front matter. Otherwise, the front matter is treated as markdown content.
    454. "markdown.previewFrontMatter": "hide",
    455. // A list of URLs or local paths to CSS style sheets to use from the markdown preview. Relative paths are interpreted relative to the folder open in the explorer. If there is no open folder, they are interpreted relative to the location of the markdown file. All '\' need to be written as '\\'.
    456. "markdown.styles": [],
    457. // Enable debug logging for the markdown extension.
    458. "markdown.trace": "off",
    459. // PHP
    460. // Configures if the built-in PHP language suggestions are enabled. The support suggests PHP globals and variables.
    461. "php.suggest.basic": true,
    462. // Enable/disable built-in PHP validation.
    463. "php.validate.enable": true,
    464. // Points to the PHP executable.
    465. "php.validate.executablePath": null,
    466. // Whether the linter is run on save or on type.
    467. "php.validate.run": "onSave",
    468. // TypeScript
    469. // Enable/disable default JavaScript formatter.
    470. "javascript.format.enable": true,
    471. // Defines space handling after a comma delimiter.
    472. "javascript.format.insertSpaceAfterCommaDelimiter": true,
    473. // Defines space handling after the constructor keyword. Requires TypeScript >= 2.3.0.
    474. "javascript.format.insertSpaceAfterConstructor": false,
    475. // Defines space handling after function keyword for anonymous functions.
    476. "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
    477. // Defines space handling after keywords in a control flow statement.
    478. "javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": true,
    479. // Defines space handling after opening and before closing JSX expression braces. Requires TypeScript >= 2.0.6.
    480. "javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
    481. // Defines space handling after opening and before closing non empty braces. Requires TypeScript >= 2.3.0.
    482. "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
    483. // Defines space handling after opening and before closing non empty brackets.
    484. "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
    485. // Defines space handling after opening and before closing non empty parenthesis.
    486. "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
    487. // Defines space handling after opening and before closing template string braces. Requires TypeScript >= 2.0.6.
    488. "javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
    489. // Defines space handling after a semicolon in a for statement.
    490. "javascript.format.insertSpaceAfterSemicolonInForStatements": true,
    491. // Defines space handling after a binary operator.
    492. "javascript.format.insertSpaceBeforeAndAfterBinaryOperators": true,
    493. // Defines space handling before function argument parentheses. Requires TypeScript >= 2.1.5.
    494. "javascript.format.insertSpaceBeforeFunctionParenthesis": false,
    495. // Defines whether an open brace is put onto a new line for control blocks or not.
    496. "javascript.format.placeOpenBraceOnNewLineForControlBlocks": false,
    497. // Defines whether an open brace is put onto a new line for functions or not.
    498. "javascript.format.placeOpenBraceOnNewLineForFunctions": false,
    499. // Enable/disable semantic checking of JavaScript files. Existing jsconfig.json or tsconfig.json files override this setting. Requires TypeScript >=2.3.1.
    500. "javascript.implicitProjectConfig.checkJs": false,
    501. // Enable/disable 'experimentalDecorators' for JavaScript files that are not part of a project. Existing jsconfig.json or tsconfig.json files override this setting. Requires TypeScript >=2.3.1.
    502. "javascript.implicitProjectConfig.experimentalDecorators": false,
    503. // Enable/disable including unique names from the file in JavaScript suggestion lists.
    504. "javascript.nameSuggestions": true,
    505. // Enable/disable references CodeLens in JavaScript files.
    506. "javascript.referencesCodeLens.enabled": false,
    507. // Enable/disable JavaScript validation.
    508. "javascript.validate.enable": true,
    509. // Enable/disable auto JSDoc comments
    510. "jsDocCompletion.enabled": true,
    511. // Enable/disable auto import suggestions. Requires TypeScript >=2.6.1
    512. "typescript.autoImportSuggestions.enabled": true,
    513. // Check if NPM is installed for Automatic Type Acquisition.
    514. "typescript.check.npmIsInstalled": true,
    515. // Disables automatic type acquisition. Requires TypeScript >= 2.0.6.
    516. "typescript.disableAutomaticTypeAcquisition": false,
    517. // Enable/disable default TypeScript formatter.
    518. "typescript.format.enable": true,
    519. // Defines space handling after a comma delimiter.
    520. "typescript.format.insertSpaceAfterCommaDelimiter": true,
    521. // Defines space handling after the constructor keyword. Requires TypeScript >= 2.3.0.
    522. "typescript.format.insertSpaceAfterConstructor": false,
    523. // Defines space handling after function keyword for anonymous functions.
    524. "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
    525. // Defines space handling after keywords in a control flow statement.
    526. "typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": true,
    527. // Defines space handling after opening and before closing JSX expression braces. Requires TypeScript >= 2.0.6.
    528. "typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
    529. // Defines space handling after opening and before closing non empty braces. Requires TypeScript >= 2.3.0.
    530. "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
    531. // Defines space handling after opening and before closing non empty brackets.
    532. "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
    533. // Defines space handling after opening and before closing non empty parenthesis.
    534. "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
    535. // Defines space handling after opening and before closing template string braces. Requires TypeScript >= 2.0.6.
    536. "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
    537. // Defines space handling after a semicolon in a for statement.
    538. "typescript.format.insertSpaceAfterSemicolonInForStatements": true,
    539. // Defines space handling after type assertions in TypeScript. Requires TypeScript >= 2.4.
    540. "typescript.format.insertSpaceAfterTypeAssertion": false,
    541. // Defines space handling after a binary operator.
    542. "typescript.format.insertSpaceBeforeAndAfterBinaryOperators": true,
    543. // Defines space handling before function argument parentheses. Requires TypeScript >= 2.1.5.
    544. "typescript.format.insertSpaceBeforeFunctionParenthesis": false,
    545. // Defines whether an open brace is put onto a new line for control blocks or not.
    546. "typescript.format.placeOpenBraceOnNewLineForControlBlocks": false,
    547. // Defines whether an open brace is put onto a new line for functions or not.
    548. "typescript.format.placeOpenBraceOnNewLineForFunctions": false,
    549. // Enable/disable implementations CodeLens. Requires TypeScript >= 2.2.0.
    550. "typescript.implementationsCodeLens.enabled": false,
    551. // Sets the locale used to report TypeScript errors. Requires TypeScript >= 2.6.0. Default of 'null' uses VS Code's locale for TypeScript errors.
    552. "typescript.locale": null,
    553. // Specifies the path to the NPM executable used for Automatic Type Acquisition. Requires TypeScript >= 2.3.4.
    554. "typescript.npm": null,
    555. // Enable/disable quick suggestions when typing out an import path.
    556. "typescript.quickSuggestionsForPaths": true,
    557. // Enable/disable references CodeLens in TypeScript files. Requires TypeScript >= 2.0.6.
    558. "typescript.referencesCodeLens.enabled": false,
    559. // Report style checks as warnings
    560. "typescript.reportStyleChecksAsWarnings": true,
    561. // Controls auto detection of tsc tasks. 'off' disables this feature. 'build' only creates single run compile tasks. 'watch' only creates compile and watch tasks. 'on' creates both build and watch tasks. Default is 'on'.
    562. "typescript.tsc.autoDetect": "on",
    563. // Specifies the folder path containing the tsserver and lib*.d.ts files to use.
    564. "typescript.tsdk": null,
    565. // Enables logging of the TS server to a file. This log can be used to diagnose TS Server issues. The log may contain file paths, source code, and other potentially sensitive information from your project.
    566. "typescript.tsserver.log": "off",
    567. // Enables tracing of messages sent to the TS server. This trace can be used to diagnose TS Server issues. The trace may contain file paths, source code, and other potentially sensitive information from your project.
    568. "typescript.tsserver.trace": "off",
    569. // Complete functions with their parameter signature.
    570. "typescript.useCodeSnippetsOnMethodSuggest": false,
    571. // Enable/disable TypeScript validation.
    572. "typescript.validate.enable": true,
    573. // CSS
    574. // Invalid number of parameters
    575. "css.lint.argumentsInColorFunction": "error",
    576. // Do not use width or height when using padding or border
    577. "css.lint.boxModel": "ignore",
    578. // When using a vendor-specific prefix make sure to also include all other vendor-specific properties
    579. "css.lint.compatibleVendorPrefixes": "ignore",
    580. // Do not use duplicate style definitions
    581. "css.lint.duplicateProperties": "ignore",
    582. // Do not use empty rulesets
    583. "css.lint.emptyRules": "warning",
    584. // Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.
    585. "css.lint.float": "ignore",
    586. // @font-face rule must define 'src' and 'font-family' properties
    587. "css.lint.fontFaceProperties": "warning",
    588. // Hex colors must consist of three or six hex numbers
    589. "css.lint.hexColorLength": "error",
    590. // Selectors should not contain IDs because these rules are too tightly coupled with the HTML.
    591. "css.lint.idSelector": "ignore",
    592. // IE hacks are only necessary when supporting IE7 and older
    593. "css.lint.ieHack": "ignore",
    594. // Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.
    595. "css.lint.important": "ignore",
    596. // Import statements do not load in parallel
    597. "css.lint.importStatement": "ignore",
    598. // Property is ignored due to the display. E.g. with 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect
    599. "css.lint.propertyIgnoredDueToDisplay": "warning",
    600. // The universal selector (*) is known to be slow
    601. "css.lint.universalSelector": "ignore",
    602. // Unknown property.
    603. "css.lint.unknownProperties": "warning",
    604. // Unknown vendor specific property.
    605. "css.lint.unknownVendorSpecificProperties": "ignore",
    606. // When using a vendor-specific prefix also include the standard property
    607. "css.lint.vendorPrefix": "warning",
    608. // No unit for zero needed
    609. "css.lint.zeroUnits": "ignore",
    610. // Traces the communication between VS Code and the CSS language server.
    611. "css.trace.server": "off",
    612. // Enables or disables all validations
    613. "css.validate": true,
    614. // LESS
    615. // Invalid number of parameters
    616. "less.lint.argumentsInColorFunction": "error",
    617. // Do not use width or height when using padding or border
    618. "less.lint.boxModel": "ignore",
    619. // When using a vendor-specific prefix make sure to also include all other vendor-specific properties
    620. "less.lint.compatibleVendorPrefixes": "ignore",
    621. // Do not use duplicate style definitions
    622. "less.lint.duplicateProperties": "ignore",
    623. // Do not use empty rulesets
    624. "less.lint.emptyRules": "warning",
    625. // Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.
    626. "less.lint.float": "ignore",
    627. // @font-face rule must define 'src' and 'font-family' properties
    628. "less.lint.fontFaceProperties": "warning",
    629. // Hex colors must consist of three or six hex numbers
    630. "less.lint.hexColorLength": "error",
    631. // Selectors should not contain IDs because these rules are too tightly coupled with the HTML.
    632. "less.lint.idSelector": "ignore",
    633. // IE hacks are only necessary when supporting IE7 and older
    634. "less.lint.ieHack": "ignore",
    635. // Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.
    636. "less.lint.important": "ignore",
    637. // Import statements do not load in parallel
    638. "less.lint.importStatement": "ignore",
    639. // Property is ignored due to the display. E.g. with 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect
    640. "less.lint.propertyIgnoredDueToDisplay": "warning",
    641. // The universal selector (*) is known to be slow
    642. "less.lint.universalSelector": "ignore",
    643. // Unknown property.
    644. "less.lint.unknownProperties": "warning",
    645. // Unknown vendor specific property.
    646. "less.lint.unknownVendorSpecificProperties": "ignore",
    647. // When using a vendor-specific prefix also include the standard property
    648. "less.lint.vendorPrefix": "warning",
    649. // No unit for zero needed
    650. "less.lint.zeroUnits": "ignore",
    651. // Enables or disables all validations
    652. "less.validate": true,
    653. // SCSS (Sass)
    654. // Invalid number of parameters
    655. "scss.lint.argumentsInColorFunction": "error",
    656. // Do not use width or height when using padding or border
    657. "scss.lint.boxModel": "ignore",
    658. // When using a vendor-specific prefix make sure to also include all other vendor-specific properties
    659. "scss.lint.compatibleVendorPrefixes": "ignore",
    660. // Do not use duplicate style definitions
    661. "scss.lint.duplicateProperties": "ignore",
    662. // Do not use empty rulesets
    663. "scss.lint.emptyRules": "warning",
    664. // Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.
    665. "scss.lint.float": "ignore",
    666. // @font-face rule must define 'src' and 'font-family' properties
    667. "scss.lint.fontFaceProperties": "warning",
    668. // Hex colors must consist of three or six hex numbers
    669. "scss.lint.hexColorLength": "error",
    670. // Selectors should not contain IDs because these rules are too tightly coupled with the HTML.
    671. "scss.lint.idSelector": "ignore",
    672. // IE hacks are only necessary when supporting IE7 and older
    673. "scss.lint.ieHack": "ignore",
    674. // Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.
    675. "scss.lint.important": "ignore",
    676. // Import statements do not load in parallel
    677. "scss.lint.importStatement": "ignore",
    678. // Property is ignored due to the display. E.g. with 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect
    679. "scss.lint.propertyIgnoredDueToDisplay": "warning",
    680. // The universal selector (*) is known to be slow
    681. "scss.lint.universalSelector": "ignore",
    682. // Unknown property.
    683. "scss.lint.unknownProperties": "warning",
    684. // Unknown vendor specific property.
    685. "scss.lint.unknownVendorSpecificProperties": "ignore",
    686. // When using a vendor-specific prefix also include the standard property
    687. "scss.lint.vendorPrefix": "warning",
    688. // No unit for zero needed
    689. "scss.lint.zeroUnits": "ignore",
    690. // Enables or disables all validations
    691. "scss.validate": true,
    692. // Extensions
    693. // Automatically update extensions
    694. "extensions.autoUpdate": true,
    695. // If set to true, the notifications for extension recommendations will stop showing up.
    696. "extensions.ignoreRecommendations": false,
    697. // External Terminal
    698. // Customizes what kind of terminal to launch.
    699. "terminal.explorerKind": "integrated",
    700. // Customizes which terminal to run on Linux.
    701. "terminal.external.linuxExec": "xterm",
    702. // Customizes which terminal application to run on OS X.
    703. "terminal.external.osxExec": "Terminal.app",
    704. // Customizes which terminal to run on Windows.
    705. "terminal.external.windowsExec": "C:\\WINDOWS\\System32\\cmd.exe",
    706. // Integrated Terminal
    707. // A set of command IDs whose keybindings will not be sent to the shell and instead always be handled by Code. This allows the use of keybindings that would normally be consumed by the shell to act the same as when the terminal is not focused, for example ctrl+p to launch Quick Open.
    708. "terminal.integrated.commandsToSkipShell": [
    709. "editor.action.toggleTabFocusMode",
    710. "workbench.action.debug.continue",
    711. "workbench.action.debug.pause",
    712. "workbench.action.debug.restart",
    713. "workbench.action.debug.run",
    714. "workbench.action.debug.start",
    715. "workbench.action.debug.stop",
    716. "workbench.action.focusActiveEditorGroup",
    717. "workbench.action.focusFirstEditorGroup",
    718. "workbench.action.focusSecondEditorGroup",
    719. "workbench.action.focusThirdEditorGroup",
    720. "workbench.action.navigateDown",
    721. "workbench.action.navigateLeft",
    722. "workbench.action.navigateRight",
    723. "workbench.action.navigateUp",
    724. "workbench.action.openNextRecentlyUsedEditorInGroup",
    725. "workbench.action.openPreviousRecentlyUsedEditorInGroup",
    726. "workbench.action.quickOpen",
    727. "workbench.action.quickOpenPreviousEditor",
    728. "workbench.action.quickOpenView",
    729. "workbench.action.showCommands",
    730. "workbench.action.tasks.build",
    731. "workbench.action.tasks.restartTask",
    732. "workbench.action.tasks.runTask",
    733. "workbench.action.tasks.showLog",
    734. "workbench.action.tasks.showTasks",
    735. "workbench.action.tasks.terminate",
    736. "workbench.action.tasks.test",
    737. "workbench.action.terminal.clear",
    738. "workbench.action.terminal.copySelection",
    739. "workbench.action.terminal.deleteWordLeft",
    740. "workbench.action.terminal.deleteWordRight",
    741. "workbench.action.terminal.findWidget.history.showNext",
    742. "workbench.action.terminal.findWidget.history.showPrevious",
    743. "workbench.action.terminal.focus",
    744. "workbench.action.terminal.focusAtIndex1",
    745. "workbench.action.terminal.focusAtIndex2",
    746. "workbench.action.terminal.focusAtIndex3",
    747. "workbench.action.terminal.focusAtIndex4",
    748. "workbench.action.terminal.focusAtIndex5",
    749. "workbench.action.terminal.focusAtIndex6",
    750. "workbench.action.terminal.focusAtIndex7",
    751. "workbench.action.terminal.focusAtIndex8",
    752. "workbench.action.terminal.focusAtIndex9",
    753. "workbench.action.terminal.focusFindWidget",
    754. "workbench.action.terminal.focusNext",
    755. "workbench.action.terminal.focusPrevious",
    756. "workbench.action.terminal.hideFindWidget",
    757. "workbench.action.terminal.kill",
    758. "workbench.action.terminal.new",
    759. "workbench.action.terminal.paste",
    760. "workbench.action.terminal.runActiveFile",
    761. "workbench.action.terminal.runSelectedText",
    762. "workbench.action.terminal.scrollDown",
    763. "workbench.action.terminal.scrollDownPage",
    764. "workbench.action.terminal.scrollToBottom",
    765. "workbench.action.terminal.scrollToTop",
    766. "workbench.action.terminal.scrollUp",
    767. "workbench.action.terminal.scrollUpPage",
    768. "workbench.action.terminal.selectAll",
    769. "workbench.action.terminal.toggleTerminal",
    770. "workbench.action.togglePanel"
    771. ],
    772. // Whether to confirm on exit if there are active terminal sessions.
    773. "terminal.integrated.confirmOnExit": false,
    774. // Controls whether the terminal cursor blinks.
    775. "terminal.integrated.cursorBlinking": false,
    776. // Controls the style of terminal cursor.
    777. "terminal.integrated.cursorStyle": "block",
    778. // An explicit start path where the terminal will be launched, this is used as the current working directory (cwd) for the shell process. This may be particularly useful in workspace settings if the root directory is not a convenient cwd.
    779. "terminal.integrated.cwd": "",
    780. // Whether to enable bold text within the terminal, note that this requires support from the terminal shell.
    781. "terminal.integrated.enableBold": true,
    782. // Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux
    783. "terminal.integrated.env.linux": {},
    784. // Object with environment variables that will be added to the VS Code process to be used by the terminal on OS X
    785. "terminal.integrated.env.osx": {},
    786. // Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows
    787. "terminal.integrated.env.windows": {},
    788. // Controls the font family of the terminal, this defaults to editor.fontFamily's value.
    789. "terminal.integrated.fontFamily": "",
    790. // Controls the font size in pixels of the terminal.
    791. "terminal.integrated.fontSize": 14,
    792. // Controls the line height of the terminal, this number is multiplied by the terminal font size to get the actual line-height in pixels.
    793. "terminal.integrated.lineHeight": 1,
    794. // When set, this will prevent the context menu from appearing when right clicking within the terminal, instead it will copy when there is a selection and paste when there is no selection.
    795. "terminal.integrated.rightClickCopyPaste": true,
    796. // Controls the maximum amount of lines the terminal keeps in its buffer.
    797. "terminal.integrated.scrollback": 1000,
    798. // Controls whether locale variables are set at startup of the terminal, this defaults to true on OS X, false on other platforms.
    799. "terminal.integrated.setLocaleVariables": false,
    800. // The path of the shell that the terminal uses on Linux.
    801. "terminal.integrated.shell.linux": "sh",
    802. // The path of the shell that the terminal uses on OS X.
    803. "terminal.integrated.shell.osx": "sh",
    804. // The path of the shell that the terminal uses on Windows. When using shells shipped with Windows (cmd, PowerShell or Bash on Ubuntu).
    805. "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
    806. // The command line arguments to use when on the Linux terminal.
    807. "terminal.integrated.shellArgs.linux": [],
    808. // The command line arguments to use when on the OS X terminal.
    809. "terminal.integrated.shellArgs.osx": [
    810. "-l"
    811. ],
    812. // The command line arguments to use when on the Windows terminal.
    813. "terminal.integrated.shellArgs.windows": [],
    814. // Problems
    815. // Controls if Problems view should automatically reveal files when opening them
    816. "problems.autoReveal": true,
    817. // Show Errors & Warnings on files and folder.
    818. "problems.decorations.enabled": false,
    819. // Telemetry
    820. // Enable crash reports to be sent to Microsoft.
    821. // This option requires restart to take effect.
    822. "telemetry.enableCrashReporter": true,
    823. // Enable usage data and errors to be sent to Microsoft.
    824. "telemetry.enableTelemetry": true,
    825. // Default Configuration Overrides
    826. // Configure editor settings to be overridden for [git-commit] language.
    827. "[git-commit]": {
    828. "editor.rulers": [
    829. 72
    830. ]
    831. },
    832. // Configure editor settings to be overridden for [go] language.
    833. "[go]": {
    834. "editor.insertSpaces": false
    835. },
    836. // Configure editor settings to be overridden for [json] language.
    837. "[json]": {
    838. "editor.quickSuggestions": {
    839. "strings": true
    840. }
    841. },
    842. // Configure editor settings to be overridden for [makefile] language.
    843. "[makefile]": {
    844. "editor.insertSpaces": false
    845. },
    846. // Configure editor settings to be overridden for [markdown] language.
    847. "[markdown]": {
    848. "editor.wordWrap": "on",
    849. "editor.quickSuggestions": false
    850. },
    851. // Configure editor settings to be overridden for [yaml] language.
    852. "[yaml]": {
    853. "editor.insertSpaces": true,
    854. "editor.tabSize": 2
    855. },
    856. // Npm
    857. // Controls whether auto detection of npm scripts is on or off. Default is on.
    858. "npm.autoDetect": "on",
    859. // The package manager used to run scripts.
    860. "npm.packageManager": "npm",
    861. // Run npm commands with the `--silent` option.
    862. "npm.runSilent": false,
    863. // Merge Conflict
    864. // Enable/disable merge conflict block CodeLens within editor
    865. "merge-conflict.codeLens.enabled": true,
    866. // Enable/disable merge conflict decorators within editor
    867. "merge-conflict.decorators.enabled": true,
    868. // Emmet
    869. // An array of languages where Emmet abbreviations should not be expanded.
    870. "emmet.excludeLanguages": [
    871. "markdown"
    872. ],
    873. // Path to a folder containing Emmet profiles and snippets.'
    874. "emmet.extensionsPath": null,
    875. // Enable Emmet abbreviations in languages that are not supported by default. Add a mapping here between the language and emmet supported language.
    876. // Eg: {"vue-html": "html", "javascript": "javascriptreact"}
    877. "emmet.includeLanguages": {},
    878. // Preferences used to modify behavior of some actions and resolvers of Emmet.
    879. "emmet.preferences": {},
    880. // Shows possible Emmet abbreviations as suggestions. Not applicable in stylesheets or when emmet.showExpandedAbbreviation is set to "never".
    881. "emmet.showAbbreviationSuggestions": true,
    882. // Shows expanded Emmet abbreviations as suggestions.
    883. // The option "inMarkupAndStylesheetFilesOnly" applies to html, haml, jade, slim, xml, xsl, css, scss, sass, less and stylus.
    884. // The option "always" applies to all parts of the file regardless of markup/css.
    885. "emmet.showExpandedAbbreviation": "always",
    886. // If true, then Emmet suggestions will show up as snippets allowing you to order them as per editor.snippetSuggestions setting.
    887. "emmet.showSuggestionsAsSnippets": false,
    888. // Define profile for specified syntax or use your own profile with specific rules.
    889. "emmet.syntaxProfiles": {},
    890. // When enabled, Emmet abbreviations are expanded when pressing TAB.
    891. "emmet.triggerExpansionOnTab": false,
    892. // Variables to be used in Emmet snippets
    893. "emmet.variables": {},
    894. // Git
    895. // Whether auto fetching is enabled
    896. "git.autofetch": false,
    897. // Whether auto refreshing is enabled
    898. "git.autorefresh": true,
    899. // Controls what type of branches are listed when running `Checkout to...`. `all` shows all refs, `local` shows only the local branchs, `tags` shows only tags and `remote` shows only remote branches.
    900. "git.checkoutType": "all",
    901. // Confirm before synchronizing git repositories
    902. "git.confirmSync": true,
    903. // Controls the git badge counter. `all` counts all changes. `tracked` counts only the tracked changes. `off` turns it off.
    904. "git.countBadge": "all",
    905. // Controls if Git contributes colors and badges to the explorer and the open editors view.
    906. "git.decorations.enabled": true,
    907. // The default location where to clone a git repository
    908. "git.defaultCloneDirectory": null,
    909. // Enables commit signing with GPG.
    910. "git.enableCommitSigning": false,
    911. // Whether git is enabled
    912. "git.enabled": true,
    913. // Commit all changes when there are no staged changes.
    914. "git.enableSmartCommit": false,
    915. // Ignores the legacy Git warning
    916. "git.ignoreLegacyWarning": false,
    917. // Ignores the warning when there are too many changes in a repository
    918. "git.ignoreLimitWarning": false,
    919. // Ignores the warning when Git is missing
    920. "git.ignoreMissingGitWarning": false,
    921. // Path to the git executable
    922. "git.path": null,
    923. // Jake
    924. // Controls whether auto detection of Jake tasks is on or off. Default is on.
    925. "jake.autoDetect": "on",
    926. // Grunt
    927. // Controls whether auto detection of Grunt tasks is on or off. Default is on.
    928. "grunt.autoDetect": "on",
    929. // Gulp
    930. // Controls whether auto detection of Gulp tasks is on or off. Default is on.
    931. "gulp.autoDetect": "on"
    932. }

    Common Questions

    Q: VS Code says “Unable to write settings.”

    A: If you try to change a setting (for example turning on Auto Save or selecting a new Color Theme) and you see “Unable to write settings. Please open User Settings to correct errors/warnings in the file and try again.”, it means your settings.json file is ill-formed or has errors. The errors can be as simple as a missing comma or setting value. Open the Settings editor File > Preferences > Settings (Code > Preferences > Settings on Mac) (kb(workbench.action.openGlobalSettings)) and you should see the error highlighted with red squiggles.

    Q: When does it make sense to use workspace settings?

    A: If you’re using a workspace that needs custom settings but you don’t want to apply them to your other VS Code projects. A good example is language-specific linting rules.