settings.json 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. {
  2. "typescript.tsdk": "./node_modules/typescript/lib",
  3. //===========================================
  4. //============= Editor ======================
  5. //===========================================
  6. "explorer.openEditors.visible": 0,
  7. "editor.minimap.renderCharacters": false,
  8. "editor.minimap.maxColumn": 300,
  9. "editor.minimap.showSlider": "always",
  10. "editor.smoothScrolling": true,
  11. "editor.cursorBlinking": "phase",
  12. "editor.cursorSmoothCaretAnimation": true,
  13. "editor.detectIndentation": false,
  14. "diffEditor.ignoreTrimWhitespace": false,
  15. "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  16. "editor.formatOnPaste": true,
  17. "editor.formatOnSave": true,
  18. "editor.suggestSelection": "first",
  19. "editor.trimAutoWhitespace": true,
  20. "editor.quickSuggestions": {
  21. "other": true,
  22. "comments": true,
  23. "strings": true
  24. },
  25. //===========================================
  26. //============= Other =======================
  27. //===========================================
  28. "breadcrumbs.enabled": true,
  29. "open-in-browser.default": "chrome",
  30. //===========================================
  31. //============= emmet =======================
  32. //===========================================
  33. "emmet.triggerExpansionOnTab": true,
  34. "emmet.showAbbreviationSuggestions": true,
  35. "emmet.showExpandedAbbreviation": "always",
  36. "emmet.syntaxProfiles": {
  37. "vue-html": "html",
  38. "vue": "html",
  39. "javascript": "javascriptreact",
  40. "xml": {
  41. "attr_quotes": "single"
  42. }
  43. },
  44. "emmet.includeLanguages": {
  45. "jsx-sublime-babel-tags": "javascriptreact"
  46. },
  47. //===========================================
  48. //============= files =======================
  49. //===========================================
  50. "files.trimTrailingWhitespace": true,
  51. "files.insertFinalNewline": true,
  52. "files.trimFinalNewlines": true,
  53. "files.eol": "\n",
  54. "search.exclude": {
  55. "**/node_modules": true,
  56. "**/*.log": true,
  57. "**/*.log*": true,
  58. "**/bower_components": true,
  59. "**/dist": true,
  60. "**/elehukouben": true,
  61. "**/.git": true,
  62. "**/.gitignore": true,
  63. "**/.svn": true,
  64. "**/.DS_Store": true,
  65. "**/.idea": true,
  66. "**/.vscode": false,
  67. "**/yarn.lock": true,
  68. "**/tmp": true,
  69. "out": true,
  70. "dist": true,
  71. "node_modules": true,
  72. "CHANGELOG.md": true,
  73. "examples": true,
  74. "res": true,
  75. "screenshots": true
  76. },
  77. "files.exclude": {
  78. "**/bower_components": true,
  79. "**/.idea": true,
  80. "**/yarn.lock": true,
  81. "**/tmp": true,
  82. "**/.git": true,
  83. "**/.svn": true,
  84. "**/.hg": true,
  85. "**/CVS": true,
  86. "**/.DS_Store": true
  87. },
  88. "files.watcherExclude": {
  89. // 文件监视排除
  90. "**/.git/objects/**": true,
  91. "**/.git/subtree-cache/**": true,
  92. "**/.vscode/**": true,
  93. "**/node_modules/**": true,
  94. "**/tmp/**": true,
  95. "**/bower_components/**": true,
  96. "**/dist/**": true,
  97. "**/yarn.lock": true
  98. },
  99. "files.associations": {
  100. "*.vue": "vue",
  101. "*.wxss": "css"
  102. },
  103. "stylelint.enable": true,
  104. "stylelint.packageManager": "yarn",
  105. "css.validate": true,
  106. "less.validate": true,
  107. "scss.validate": true,
  108. // ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
  109. // ===========================================
  110. // ================ Eslint ===================
  111. // ===========================================
  112. // "eslint.enable": true,
  113. "eslint.alwaysShowStatus": true,
  114. "eslint.options": {
  115. // 配置
  116. "plugins": ["html", "vue", "javascript", "jsx", "typescript"],
  117. "extensions": [".js", ".jsx", ".ts", ".tsx", ".vue"]
  118. },
  119. "eslint.validate": [
  120. "javascript",
  121. "typescript",
  122. "reacttypescript",
  123. "reactjavascript",
  124. "html",
  125. "vue"
  126. ],
  127. // "eslint.autoFixOnSave": true,
  128. // ===========================================
  129. // ================ Vetur ====================
  130. // ===========================================
  131. "vetur.experimental.templateInterpolationService": true,
  132. "vetur.format.options.tabSize": 2,
  133. "vetur.format.defaultFormatter.html": "js-beautify-html",
  134. "vetur.format.defaultFormatter.scss": "prettier",
  135. "vetur.format.defaultFormatter.css": "prettier",
  136. "vetur.format.defaultFormatter.ts": "prettier-tslint",
  137. "vetur.format.defaultFormatter.js": "prettier",
  138. "vetur.languageFeatures.codeActions": false,
  139. "vetur.format.defaultFormatterOptions": {
  140. "js-beautify-html": {
  141. "wrap_attributes": "force-expand-multiline"
  142. },
  143. "prettier": {
  144. "eslintIntegration": true,
  145. "arrowParens": "always",
  146. "semi": false,
  147. "singleQuote": true
  148. }
  149. },
  150. "javascript.updateImportsOnFileMove.enabled": "never",
  151. "liveServer.settings.donotShowInfoMsg": true,
  152. "terminal.integrated.rendererType": "dom",
  153. "telemetry.enableCrashReporter": false,
  154. "telemetry.enableTelemetry": false,
  155. "workbench.settings.enableNaturalLanguageSearch": false,
  156. "path-intellisense.mappings": {
  157. "/@/": "${workspaceRoot}/src"
  158. },
  159. "prettier.requireConfig": true,
  160. "typescript.updateImportsOnFileMove.enabled": "always",
  161. "workbench.sideBar.location": "left",
  162. "[javascriptreact]": {
  163. "editor.defaultFormatter": "esbenp.prettier-vscode"
  164. },
  165. "[typescript]": {
  166. "editor.defaultFormatter": "esbenp.prettier-vscode"
  167. },
  168. "[typescriptreact]": {
  169. "editor.defaultFormatter": "esbenp.prettier-vscode"
  170. },
  171. "[html]": {
  172. "editor.defaultFormatter": "esbenp.prettier-vscode"
  173. },
  174. "[css]": {
  175. "editor.defaultFormatter": "esbenp.prettier-vscode"
  176. },
  177. "[less]": {
  178. "editor.defaultFormatter": "esbenp.prettier-vscode"
  179. },
  180. "[scss]": {
  181. "editor.defaultFormatter": "esbenp.prettier-vscode"
  182. },
  183. "[markdown]": {
  184. "editor.defaultFormatter": "esbenp.prettier-vscode"
  185. },
  186. "editor.codeActionsOnSave": {
  187. "source.fixAll.eslint": true
  188. },
  189. "i18n-ally.localesPaths": ["src/locales/lang"],
  190. "i18n-ally.keystyle": "nested",
  191. "i18n-ally.sortKeys": true,
  192. "i18n-ally.namespace": true,
  193. "i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}",
  194. "i18n-ally.enabledParsers": ["ts"],
  195. "i18n-ally.sourceLanguage": "zh",
  196. "i18n-ally.enabledFrameworks": ["vue", "react"]
  197. }