-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsettings.json
218 lines (218 loc) · 7.65 KB
/
settings.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
{
// Navigation
//
// See: https://code.visualstudio.com/updates/v1_26#_breadcrumbs
"breadcrumbs.enabled": true,
"breadcrumbs.symbolPath": "last",
"breadcrumbs.symbolSortOrder": "name",
// Whitespaces
//
// This prevents unnecessary changes to version-controlled files
// that show up in `git diff` or some other diff tool.
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"editor.renderControlCharacters": true,
"editor.renderWhitespace": "boundary",
// Font
//
// Hack provides a font for source codes that is consistent
// across different OS (Mac, Linux, Windows). It makes it
// easy to differentiate glyphs like zeroes and the letter O,
// lowercase 'l' and uppercase 'I', and punctuation marks.
// https://source-foundry.github.io/Hack/font-specimen.html
"editor.fontFamily": "Hack",
"terminal.integrated.fontFamily": "Hack",
// Themes
"workbench.colorTheme": "Dracula Soft",
"workbench.iconTheme": "material-icon-theme",
// Colors
//
// Many colors of the VS Code UI can be customized.
// Here, change the colors for erros and warnings,
// and differentiate ignored, untracked, and modified
// git files.
"workbench.colorCustomizations": {
"list.errorForeground": "#f66",
"list.warningForeground": "#fff333",
"editor.foldBackground": "#2c3e50",
"editorBracketMatch.background": "#566573",
"editorWarning.foreground": "#fff333",
"gitDecoration.ignoredResourceForeground": "#635e5e",
"gitDecoration.untrackedResourceForeground": "#0099ff",
"gitDecoration.modifiedResourceForeground": "#00ff2aaf",
"minimap.errorHighlight": "#ff0000",
"minimap.findMatchHighlight": "#00ff2aaf",
"minimap.selectionHighlight": "#c008fb",
"minimap.warningHighlight": "#f4fb08"
},
// Cursor
"editor.cursorStyle": "line",
"editor.cursorBlinking": "smooth",
"editor.cursorSurroundingLines": 5,
// Indentation
//
// * Always use spaces.
// * Tabs will insert 4 spaces.
"editor.detectIndentation": false,
"editor.insertSpaces": true,
"editor.tabSize": 4,
// Minimap
"editor.minimap.enabled": false,
// Smooth Scrolling
"editor.smoothScrolling": true,
"editor.stickyScroll.enabled": false,
// Word Wrapping
//
// * Set max line length to 120.
// * Wrapped lines are visually indented.
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 120,
"editor.wrappingIndent": "indent",
// File Explorer
//
// * List files first before folders.
// * Show indent guides to visually see which files belong to which folder.
// * Do not use Java IDE style of compacting empty folders or folders with
// only one child (ex. app/libs/utils).
// * Automatically append an identifier when copy-pasting files to avoid
// overwriting the original file.
"explorer.autoReveal": "focusNoScroll",
"explorer.compactFolders": false,
"explorer.expandSingleFolderWorkspaces": false,
"explorer.fileNesting.enabled": false,
"explorer.incrementalNaming": "smart",
"explorer.sortOrder": "filesFirst",
"workbench.list.horizontalScrolling": true,
"workbench.tree.renderIndentGuides": "always",
// Editor Tabs
//
// * Do not close files which have been deleted outside of
// VS Code (serves like a backup for accidental deletion).
// * Do not use Preview when using Quick Open
// * Do show tabs which have been modified.
// * Do not put a limit on open tabs.
// * Do open the tab on the last scroll position.
// * Do compact pinned tabs to only show the icon
"workbench.editor.closeOnFileDelete": false,
"workbench.editor.decorations.badges": false,
"workbench.editor.decorations.colors": false,
"workbench.editor.enablePreviewFromQuickOpen": false,
"workbench.editor.highlightModifiedTabs": true,
"workbench.editor.labelFormat": "short",
"workbench.editor.limit.enabled": false,
"workbench.editor.openPositioning": "last",
"workbench.editor.pinnedTabSizing": "compact",
"workbench.editor.restoreViewState": false,
"workbench.editor.scrollToSwitchTabs": false,
// Terminal
//
// * Always open terminal in current workspace folder
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.cwd": "${workspaceFolder}",
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.enableBell": true,
"terminal.integrated.enablePersistentSessions": false,
"terminal.integrated.cursorStyle": "line",
"terminal.integrated.fontSize": 14,
"terminal.integrated.fontWeight": "100",
"terminal.integrated.fontWeightBold": "normal",
"terminal.integrated.wordSeparators": " ()[]{}',\"`─:",
"terminal.integrated.shellIntegration.decorationsEnabled": "never",
"terminal.integrated.smoothScrolling": true,
// Version Control
//
// * Enable sigining git commits with GPG.
// * Disable built-in validation of commit messages.
// * Disable force pushing.
// * Auto-detect git submodules.
"git.alwaysShowStagedChangesResourceGroup": true,
"git.detectSubmodules": true,
"git.enableCommitSigning": true,
"git.enableStatusBarSync": false,
"git.inputValidation": "off",
"git.rebaseWhenSync": true,
"git.showPushSuccessNotification": true,
"git.useForcePushWithLease": false,
"diffEditor.ignoreTrimWhitespace": false,
"files.saveConflictResolution": "askUser",
"scm.defaultViewMode": "tree",
// Brackets
"editor.matchBrackets": "near",
// Markdown Linting
"markdownlint.run": "onSave",
"markdownlint.config": {
"MD007": false,
"MD014": false,
"MD026": false,
"MD028": false,
"MD031": false,
"MD032": false,
"MD033": false,
"MD040": false
},
// Python Intellisense
//
// Use Pylance.
// See: https://devblogs.microsoft.com/python/announcing-pylance-fast-feature-rich-language-support-for-python-in-visual-studio-code/
"python.languageServer": "Pylance",
"python.analysis.autoImportCompletions": true,
"python.analysis.autoSearchPaths": true,
"python.analysis.completeFunctionParens": false,
"python.analysis.diagnosticMode": "openFilesOnly",
"python.analysis.typeCheckingMode": "off", // Set per workspace
// Python Linting and Formatting
//
// Use flake8 and mypy
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": false // Use each project's isort config
},
"editor.formatOnSave": true
},
"python.linting.pylintEnabled": false,
"python.linting.pylintUseMinimalCheckers": false,
"python.linting.flake8Enabled": true,
"python.linting.flake8Path": "/usr/local/bin/flake8",
"python.linting.mypyEnabled": true,
"python.linting.mypyPath": "/usr/local/bin/mypy",
"python.linting.mypyArgs": [
"--namespace-packages",
"--ignore-missing-imports",
"--follow-imports=silent",
"--show-column-numbers",
"--show-error-codes"
],
// Python Formatting
//
// Use black
"python.formatting.provider": "black",
"python.formatting.blackPath": "/usr/local/bin/black", // Set per venv
// Python AutoDocstring
"autoDocstring.docstringFormat": "sphinx",
"autoDocstring.generateDocstringOnEnter": true,
"autoDocstring.guessTypes": true,
"autoDocstring.includeExtendedSummary": true,
"autoDocstring.includeName": false,
"autoDocstring.startOnNewLine": false,
"autoDocstring.quoteStyle": "\"\"\"",
// Javascript Linting
//
// Prevent auto-fixing code. It's better that the linter
// shows the warnings/errors, then judge manually how to
// fix. This promotes proper coding habits.
"editor.codeActionsOnSave": {
"source.fixAll.eslint": false
},
"eslint.format.enable": true,
"eslint.lintTask.enable": true,
"eslint.probe": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"html",
"vue"
],
"eslint.run": "onSave"
}