settings.json 6.1 KB

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