228 lines
8.3 KiB
JSON
228 lines
8.3 KiB
JSON
|
|
{
|
||
|
|
"files.exclude": {
|
||
|
|
"**/.git": true,
|
||
|
|
"**/.svn": true,
|
||
|
|
"**/.hg": true,
|
||
|
|
"**/.DS_Store": true,
|
||
|
|
"**/Thumbs.db": true,
|
||
|
|
"*.meta": true,
|
||
|
|
".idea": true,
|
||
|
|
".nuxt": true,
|
||
|
|
"server/node_modules": true,
|
||
|
|
"shared/node_modules": true,
|
||
|
|
"shared/dist": true,
|
||
|
|
"server/dist": true,
|
||
|
|
"app/.nuxt": true,
|
||
|
|
"app/.output": true
|
||
|
|
},
|
||
|
|
"explorerExclude.backup": {},
|
||
|
|
|
||
|
|
// 编辑器设置
|
||
|
|
"editor.quickSuggestions": {
|
||
|
|
"other": true,
|
||
|
|
"comments": false,
|
||
|
|
"strings": true
|
||
|
|
},
|
||
|
|
"editor.suggestOnTriggerCharacters": true,
|
||
|
|
"editor.acceptSuggestionOnEnter": "on",
|
||
|
|
"editor.snippetSuggestions": "inline",
|
||
|
|
"editor.wordBasedSuggestions": "allDocuments",
|
||
|
|
"editor.parameterHints.enabled": true,
|
||
|
|
"editor.suggestSelection": "first",
|
||
|
|
"editor.tabCompletion": "on",
|
||
|
|
"editor.autoClosingBrackets": "always",
|
||
|
|
"editor.suggest.insertMode": "replace",
|
||
|
|
"editor.formatOnSave": true,
|
||
|
|
"editor.codeActionsOnSave": {
|
||
|
|
"source.fixAll.eslint": "explicit",
|
||
|
|
"source.organizeImports": "explicit"
|
||
|
|
},
|
||
|
|
// 悬停提示设置
|
||
|
|
"editor.hover.enabled": true,
|
||
|
|
"editor.hover.sticky": true,
|
||
|
|
"editor.hover.delay": 300,
|
||
|
|
"editor.suggest.showStatusBar": true,
|
||
|
|
"editor.suggest.preview": true,
|
||
|
|
"editor.suggest.showKeywords": true,
|
||
|
|
"editor.suggest.showSnippets": true,
|
||
|
|
|
||
|
|
// 文件关联
|
||
|
|
"files.associations": {
|
||
|
|
"*.css": "tailwindcss",
|
||
|
|
"main.css": "tailwindcss"
|
||
|
|
},
|
||
|
|
|
||
|
|
// Tailwind CSS IntelliSense 配置
|
||
|
|
"tailwindCSS.includeLanguages": {
|
||
|
|
"vue": "html",
|
||
|
|
"javascript": "javascript",
|
||
|
|
"typescript": "typescript",
|
||
|
|
"vue-html": "html",
|
||
|
|
"plaintext": "css",
|
||
|
|
"markdown": "html"
|
||
|
|
},
|
||
|
|
"tailwindCSS.experimental.classRegex": [
|
||
|
|
["class:\\s*?[\"'`]([^\"'`]*).*?[\"'`]", "[\"'`]([^\"'`]*)[\"'`]"],
|
||
|
|
["className:\\s*?[\"'`]([^\"'`]*).*?[\"'`]", "[\"'`]([^\"'`]*)[\"'`]"],
|
||
|
|
["\\bclass\\s*=\\s*[\"']([^\"']*)[\"']", "([^\"']*)"],
|
||
|
|
["\\bclassName\\s*=\\s*[\"']([^\"']*)[\"']", "([^\"']*)"],
|
||
|
|
["class=\"([^\"]*)\"", "([^\"]*)"],
|
||
|
|
["class='([^']*)'", "([^']*)"],
|
||
|
|
["class=`([^`]*)`", "([^`]*)"],
|
||
|
|
["@apply\\s+([^;]*)", 1],
|
||
|
|
["@layer utilities\\s*{[^}]*?\\.([^\\s{]+)", 1],
|
||
|
|
["tw`([^`]*)`", 1],
|
||
|
|
["tw=\"([^\"]*)\"", 1],
|
||
|
|
["cva\\(([^\\)]*)\\)", 1],
|
||
|
|
["cx\\(([^\\)]*)\\)", 1],
|
||
|
|
["cn\\(([^\\)]*)\\)", 1]
|
||
|
|
],
|
||
|
|
"tailwindCSS.validate": true,
|
||
|
|
"tailwindCSS.lint.cssConflict": "warning",
|
||
|
|
"tailwindCSS.lint.invalidApply": "error",
|
||
|
|
"tailwindCSS.lint.invalidConfigPath": "error",
|
||
|
|
"tailwindCSS.lint.invalidScreen": "error",
|
||
|
|
"tailwindCSS.lint.invalidTailwindDirective": "error",
|
||
|
|
"tailwindCSS.lint.invalidVariant": "error",
|
||
|
|
"tailwindCSS.lint.recommendedVariantOrder": "warning",
|
||
|
|
"tailwindCSS.emmetCompletions": true,
|
||
|
|
"tailwindCSS.suggestions": true,
|
||
|
|
"tailwindCSS.hovers": true,
|
||
|
|
"tailwindCSS.codeActions": true,
|
||
|
|
"tailwindCSS.experimental.configFile": "./app/tailwind.config.js",
|
||
|
|
"tailwindCSS.cssPath": "./app/assets/css/main.css",
|
||
|
|
// Tailwind CSS 智能提示增强设置
|
||
|
|
"tailwindCSS.experimental.classSorting": true,
|
||
|
|
"tailwindCSS.colorDecorators": true,
|
||
|
|
"tailwindCSS.showPixelEquivalents": true,
|
||
|
|
"tailwindCSS.rootFontSize": 16,
|
||
|
|
// 确保Tailwind CSS与CSS Peek兼容
|
||
|
|
"tailwindCSS.experimental.classAttributes": ["class", "className", "ngClass"],
|
||
|
|
|
||
|
|
// CSS 相关设置
|
||
|
|
"css.validate": true,
|
||
|
|
"scss.validate": false,
|
||
|
|
"less.validate": false,
|
||
|
|
"css.completion.completePropertyWithSemicolon": true,
|
||
|
|
"css.completion.triggerPropertyValueCompletion": true,
|
||
|
|
"css.lint.unknownProperties": "warning",
|
||
|
|
"css.lint.invalidNumber": "error",
|
||
|
|
"css.lint.hexColorLength": "error",
|
||
|
|
"css.lint.zeroUnits": "ignore",
|
||
|
|
"css.lint.duplicateProperties": "warning",
|
||
|
|
"css.lint.ieHack": "warning",
|
||
|
|
"css.lint.argumentsInColorFunction": "error",
|
||
|
|
"css.lint.unknownVendorSpecificProperties": "ignore",
|
||
|
|
"css.lint.propertyIgnoredDueToDisplay": "warning",
|
||
|
|
"css.lint.important": "warning",
|
||
|
|
"css.lint.float": "warning",
|
||
|
|
"css.lint.idSelector": "warning",
|
||
|
|
"css.lint.universalSelector": "warning",
|
||
|
|
"css.lint.boxModel": "ignore",
|
||
|
|
"css.lint.vendorPrefix": "warning",
|
||
|
|
"css.lint.compatibleVendorPrefixes": "warning",
|
||
|
|
"css.lint.importStatement": "warning",
|
||
|
|
"css.lint.fontFaceProperties": "warning",
|
||
|
|
"css.lint.keyframeDeclarations": "warning",
|
||
|
|
"css.lint.customPropertyWarnings": "warning",
|
||
|
|
"css.lint.emptyRules": "warning",
|
||
|
|
"css.lint.selectors": "warning",
|
||
|
|
"css.lint.nesting": "warning",
|
||
|
|
"css.lint.validProperties": [
|
||
|
|
"composes",
|
||
|
|
"container",
|
||
|
|
"container-type",
|
||
|
|
"container-name",
|
||
|
|
"@apply",
|
||
|
|
"@screen",
|
||
|
|
"@layer",
|
||
|
|
"@variants",
|
||
|
|
"@responsive",
|
||
|
|
"@tailwind"
|
||
|
|
],
|
||
|
|
|
||
|
|
// CSS Peek 设置 - 启用CSS类悬停预览
|
||
|
|
"cssPeek.enable": true,
|
||
|
|
"cssPeek.enableGotoDefinition": true,
|
||
|
|
"cssPeek.enableHover": true,
|
||
|
|
"cssPeek.enableShowReferences": true,
|
||
|
|
"cssPeek.enableShowReferencesInPeek": true,
|
||
|
|
"cssPeek.enableShowDefinitionInPeek": true,
|
||
|
|
"cssPeek.enableShowQuickInfo": true,
|
||
|
|
"cssPeek.enableColors": true,
|
||
|
|
"cssPeek.enableFiles": ["css", "scss", "less", "vue", "html"],
|
||
|
|
|
||
|
|
// HTML/CSS 类名智能提示
|
||
|
|
"html-css-class-completion.includeGlobPattern": "**/*.{css,scss,vue,html}",
|
||
|
|
"html-css-class-completion.enableEmmetCompletion": true,
|
||
|
|
"html-css-class-completion.includeLanguages": {
|
||
|
|
"vue": "html",
|
||
|
|
"vue-html": "html"
|
||
|
|
},
|
||
|
|
|
||
|
|
// Vue 相关设置
|
||
|
|
"vetur.validation.style": false,
|
||
|
|
"vetur.validation.template": false,
|
||
|
|
|
||
|
|
// Vue Official (新版 Volar) 配置
|
||
|
|
"vue.server.hybridMode": true,
|
||
|
|
"vue.inlayHints.missingProps": true,
|
||
|
|
"vue.inlayHints.inlineHandlerLeading": true,
|
||
|
|
"vue.inlayHints.optionsWrapper": true,
|
||
|
|
"vue.inlayHints.vBindShorthand": true,
|
||
|
|
"vue.complete.casing.tags": "kebab",
|
||
|
|
"vue.complete.casing.props": "camel",
|
||
|
|
|
||
|
|
// Vue Official TypeScript 支持
|
||
|
|
"vue.codeActions.enabled": true,
|
||
|
|
"vue.complete.casing.tags": "kebab",
|
||
|
|
"vue.complete.casing.props": "camel",
|
||
|
|
"vue.suggest.enabled": true,
|
||
|
|
"vue.suggest.includeSnippets": true,
|
||
|
|
"vue.suggest.autoImportComponent": true,
|
||
|
|
"vue.suggest.autoImportComponentNameCasing": "pascal",
|
||
|
|
"vue.suggest.htmlDataSource": "html5",
|
||
|
|
"vue.trace.server": "off",
|
||
|
|
"vue.format.enabled": true,
|
||
|
|
"vue.format.defaultFormatter.html": "none",
|
||
|
|
"vue.format.defaultFormatter.css": "none",
|
||
|
|
"vue.format.defaultFormatter.js": "none",
|
||
|
|
"vue.format.defaultFormatter.ts": "none",
|
||
|
|
|
||
|
|
// Emmet 设置
|
||
|
|
"emmet.includeLanguages": {
|
||
|
|
"vue-html": "html",
|
||
|
|
"vue": "html",
|
||
|
|
"javascript": "javascriptreact",
|
||
|
|
"typescript": "typescriptreact"
|
||
|
|
},
|
||
|
|
"emmet.triggerExpansionOnTab": true,
|
||
|
|
"emmet.showAbbreviationSuggestions": true,
|
||
|
|
"emmet.showExpandedAbbreviation": "always",
|
||
|
|
|
||
|
|
// TypeScript 设置
|
||
|
|
"typescript.preferences.importModuleSpecifier": "relative",
|
||
|
|
"typescript.suggest.autoImports": true,
|
||
|
|
"typescript.suggest.completeFunctionCalls": true,
|
||
|
|
"typescript.inlayHints.parameterNames.enabled": "all",
|
||
|
|
"typescript.inlayHints.parameterTypes.enabled": true,
|
||
|
|
"typescript.inlayHints.variableTypes.enabled": true,
|
||
|
|
"typescript.preferences.includePackageJsonAutoImports": "on",
|
||
|
|
"typescript.suggest.includeCompletionsWithSnippetText": true,
|
||
|
|
"typescript.updateImportsOnFileMove.enabled": "always",
|
||
|
|
"typescript.preferences.includePackageJsonAutoImports": "on",
|
||
|
|
"typescript.suggest.includeCompletionsWithSnippetText": true,
|
||
|
|
"typescript.updateImportsOnFileMove.enabled": "always",
|
||
|
|
|
||
|
|
// Nuxt 设置
|
||
|
|
"nuxt.isNuxtApp": false,
|
||
|
|
|
||
|
|
// 默认使用Chrome打开链接
|
||
|
|
"terminal.external.windowsExec": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
|
||
|
|
"terminal.explorerKind": "external",
|
||
|
|
"open-in-browser.default": "chrome",
|
||
|
|
"svn.delete.ignoredRulesForDeletedFiles": [
|
||
|
|
"server\\api\\CIMapi\\feishu-shanghai-cim-service.ts"
|
||
|
|
]
|
||
|
|
}
|