VScode 工作区配置 和 用户配置

news2025/1/29 14:08:09

一、工作区配置

通常不同的项目都有不同的配置,我一般都是使用eslint和prettier一起用,所以经常会有这几个文件:

这里简单介绍一下这几个文件的作用吧。

1.vscode文件夹下

一般有两个文件,extensions.json和settings.json。

extensions.json

文件是用来配置推荐安装的 VS Code 插件的文件。在这个文件中,你可以列出你项目中推荐使用的一些插件,当你打开项目时,VS Code 会自动提示你是否安装这些插件。

比如:

{

  "recommendations": ["johnsoncodehk.volar", "esbenp.prettier-vscode","dbaeumer.vscode-eslint"]

}

这三个插件分别代表:

  1. johnsoncodehk.volar: 与 Vue.js 相关的插件,提供了更好的 Vue.js 开发体验。

  2. esbenp.prettier-vscode: Prettier 的 VS Code 插件,用于格式化代码。

  3. dbaeumer.vscode-eslint: ESLint 的 VS Code 插件,用于提供 ESLint 集成支持。

settings.json

这是VS Code 中的设置文件一般用来设置项目的开发配置,比如常见的都是这些配置:

{
  "window.title": "Admin", //设置 VS Code 窗口标题

  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.detectIndentation": false,
  "editor.formatOnPaste": false,
  "editor.formatOnSave": true,
  "editor.wordWrap": "on",  //启用文本换行
  "eslint.alwaysShowStatus": true,
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "vue",
    "html",
    {
      "language": "vue",
      "autoFix": true
    }
  ],

  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },

  "[jsonc]": {
    "editor.defaultFormatter": "HookyQR.beautify"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.tabSize": 2,
  "diffEditor.ignoreTrimWhitespace": false,
  "files.associations": {
    "*.vue": "vue"
  },
  
  "editor.suggestSelection": "first",
  
  "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
  "prettier.tabWidth": 2,//指定 Prettier 的缩进宽度为 2 个空格
  "prettier.semi": false,
  "prettier.jsxSingleQuote": true,
  "prettier.singleQuote": true,
  "prettier.eslintIntegration": true, // 让prettier遵循eslint格式美化

  // "[json]": {
  //   "editor.defaultFormatter": "esbenp.prettier-vscode"
  // },
  "files.exclude": {
    // ".dockerignore": true,
    // ".editorconfig": true,
    // ".eslint*": true,
    // ".travis*": true,
    // "babel*": true,
    // "package-lock*": true,
    // "postcss*": true,
    // "nginx*": true,
    // ".git*": true,
    // ".pretti*": true,
    // ".vscode": true,
    // ".stylelintrc.json": true,
    // "*.md": true,
    // "*.toml": true,
    // "*firebase*": true,
    // "appveyor.yml": true,
    // "dist": true,
    // "Dock*": true,
    // "jest*": true,
    // "node_modules": true,
    // "README*": true
  },
  "javascript.format.enable": true, // 不启动JavaScript格式化
  "files.autoSave": "onFocusChange",
  
  "eslint.options": {
    // "plugins": ["html"]
  },
  // "workbench.statusBar.feedback.visible": false,
  "vetur.format.options.tabSize": 2, //Vue 文件中的缩进大小
  "vetur.format.defaultFormatter.css": "prettier",
  "merge-conflict.autoNavigateNextConflict.enabled": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"  //保存时执行 ESLint 修复
  },
  "[scss]": {
    "editor.defaultFormatter": "HookyQR.beautify"
  },
  "prettier.requireConfig": true,
  "editor.guides.indentation": false,
  "editor.guides.highlightActiveIndentation": false,
  "workbench.editor.empty.hint": "hidden" //隐藏空白编辑器的提示,可以根据个人偏好进行配置
}

一般都是需要什么配置去找什么配置,当前只有这两个还是不太行,一般还需要其他的文件来辅助。

2.根目录下

eslintrc.js   和 prettierrc ,看名字就知道都是干啥的,一般会有这样的配置:

.eslintrc.js 

module.exports = {
  root: true,
  env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true
  },

  globals: {
    defineEmits: true,
    document: true,
    localStorage: true,
    GLOBAL_VAR: true,
    window: true,
    defineProps: true,
    defineExpose: true,
    $ref: true
  },
  plugins: ['@typescript-eslint', 'prettier', 'import'],
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:vue/vue3-recommended',
    'prettier',
    './.eslintrc-auto-import.json'
  ],
  parserOptions: {
    parser: '@typescript-eslint/parser',
    sourceType: 'module',
    ecmaFeatures: {
      jsx: true,
      tsx: true
    }
  },
  rules: {
    //close lf error
    'import/no-unresolved': [0],
    'vue/multi-word-component-names': 'off',
    'vue/no-deprecated-router-link-tag-prop': 'off',
    'import/extensions': 'off',
    'import/no-absolute-path': 'off',
    'no-async-promise-executor': 'off',
    'import/no-extraneous-dependencies': 'off',
    'vue/no-multiple-template-root': 'off',
    'vue/html-self-closing': 'off',
    'no-console': 'off',
    'no-plusplus': 'off',
    'no-useless-escape': 'off',
    'no-bitwise': 'off',
    '@typescript-eslint/no-explicit-any': ['off'],
    '@typescript-eslint/explicit-module-boundary-types': ['off'],
    '@typescript-eslint/ban-ts-comment': ['off'],
    'vue/no-setup-props-destructure': ['off'],
    '@typescript-eslint/no-empty-function': ['off'],
    'vue/script-setup-uses-vars': ['off'],
    //can config  to 2 if need more then required
    '@typescript-eslint/no-unused-vars': [0],
    'no-param-reassign': ['off']
  }
}

解释如下: 

  • root: true: 表示 ESLint 应该停止在父级目录中查找其他配置文件。

  • env: 定义了代码运行的环境。这里包括浏览器、CommonJS、ES6 和 Node.js。

  • globals: 定义了全局变量,这样 ESLint 不会发出未定义的错误。这里列出了一些常见的全局变量,比如 documentlocalStoragewindow 等。

  • plugins: 插件列表,这里包括 @typescript-eslintprettierimport。这些插件提供了额外的规则和功能。

  • extends: 继承了一系列预设的规则集,包括了一些推荐的规则,TypeScript 相关的规则,Vue3 推荐的规则,以及 Prettier 的规则。

  • parserOptions: 定义了解析器选项,这里使用了 TypeScript 解析器 @typescript-eslint/parser,并设置了一些选项,如支持 JSX 和 TSX。

  • rules: 定义了具体的规则配置。这里关闭了一些规则,例如关闭了一些 import 相关的规则、关闭了一些 TypeScript 相关的规则、关闭了一些 Vue 相关的规则等。每个规则的具体含义可以根据规则的名称查找 ESLint 文档进行了解

.prettierrc

{
    "useTabs": false,
    "tabWidth": 2,
    "printWidth": 120,
    "singleQuote": true,
    "trailingComma": "none",
    "bracketSpacing": true,
    "semi": false,
    "htmlWhitespaceSensitivity": "ignore"
}
  • useTabs: 表示是否使用制表符(Tab)进行缩进。如果设置为 false,则使用空格进行缩进。

  • tabWidth: 表示缩进的空格数目。如果使用空格进行缩进,定义每级缩进的空格数。

  • printWidth: 表示代码行的最大宽度,超过这个宽度则进行换行。

  • singleQuote: 表示是否使用单引号。如果设置为 true,则使用单引号;如果设置为 false,则使用双引号。

  • trailingComma: 表示对象、数组等最后一个元素后是否加逗号。可选值为 "none""es5""all"

  • bracketSpacing: 表示花括号是否有空格。如果设置为 true,则花括号内部有空格。

  • semi: 表示是否使用分号作为语句的结束符。如果设置为 false,则不使用分号。

  • htmlWhitespaceSensitivity: 表示 HTML 文件中空格的敏感性。可选值为 "css"(保留 CSS 规则的空格)和 "ignore"(忽略空格)。

这些配置项用于规范代码风格,确保团队成员之间的代码风格一致。 Prettier 会根据这些配置对代码进行格式化。

除此之外,还可以引入这些配置:

.eslintrc-auto-import.json  

定义全局变量,以避免 ESLint 报告这些变量未定义的错误

 比如:

{
  "globals": {
    "axiosReq": true,
    "computed": true,
    "createApp": true,
    "createLogger": true,
    "createNamespacedHelpers": true,
    "createStore": true,
    "customRef": true,
    "defineAsyncComponent": true,
    "defineComponent": true,
    "effectScope": true,
    "EffectScope": true,
    "getCurrentInstance": true,
    "getCurrentScope": true,
    "h": true,
    "inject": true,
    "isReadonly": true,
    "isRef": true,
    "mapActions": true,
    "mapGetters": true,
    "mapMutations": true,
    "mapState": true,
    "markRaw": true,
    "nextTick": true,
    "onActivated": true,
    "onBeforeMount": true,
    "onBeforeUnmount": true,
    "onBeforeUpdate": true,
    "onDeactivated": true,
    "onErrorCaptured": true,
    "onMounted": true,
    "onRenderTracked": true,
    "onRenderTriggered": true,
    "onScopeDispose": true,
    "onServerPrefetch": true,
    "onUnmounted": true,
    "onUpdated": true,
    "provide": true,
    "reactive": true,
    "readonly": true,
    "ref": true,
    "resolveComponent": true,
    "shallowReactive": true,
    "shallowReadonly": true,
    "shallowRef": true,
    "toRaw": true,
    "toRef": true,
    "toRefs": true,
    "triggerRef": true,
    "unref": true,
    "useAttrs": true,
    "useCommon": true,
    "useCssModule": true,
    "useCssVars": true,
    "useElement": true,
    "useRoute": true,
    "useRouter": true,
    "useSlots": true,
    "useStore": true,
    "useVueRouter": true,
    "watch": true,
    "watchEffect": true
  }
}

这些变量看起来是与 Vue 3 和 Vue 相关的一些功能和 API 相关的,包括 refreactivecomputedprovidewatchwatchEffect 等。

通过将这些变量添加到 globals 字段中,告诉 ESLint 这些变量是全局可用的,不需要在代码中显式声明或导入。

这种做法有助于提高开发效率,同时确保代码中使用的全局变量能够被正确地识别和检查,而不会导致未定义的错误。

 

 .eslintignore

用于配置 ESLint 忽略检查的文件和目录。 

public
node_modules
.history
.husky
src/static
src/components/*
src/uni_modules/*
src/utils/*
dist
axios
*.d.ts



public: 忽略 public 目录下的文件和子目录。
node_modules: 忽略 node_modules 目录下的文件和子目录。
.history: 忽略 .history 目录下的文件和子目录。
.husky: 忽略 .husky 目录下的文件和子目录。
src/static: 忽略 src/static 目录下的文件和子目录。
src/components/*: 忽略 src/components 目录下的所有文件。
src/uni_modules/*: 忽略 src/uni_modules 目录下的所有文件。
src/utils/*: 忽略 src/utils 目录下的所有文件。
dist: 忽略 dist 目录下的文件和子目录。
axios: 忽略 axios 文件。
*.d.ts: 忽略以 .d.ts 结尾的文件。
这些规则用于告诉 ESLint 在检查代码时忽略这些文件和目录,通常用于排除一些不需要进行代码检查的文件或者由工具生成的文件。

 .editorconfig

用于配置代码编辑器的行为,以确保在不同编辑器中保持一致的代码风格

# https://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
  • root = true: 表示这是最顶层的 .editorconfig 文件,编辑器在查找 .editorconfig 文件时将停止搜索。

  • [*]: 适用于所有文件的默认配置。

    • charset = utf-8: 文件编码使用 UTF-8。
    • indent_style = space: 缩进使用空格。
    • indent_size = 2: 缩进大小为 2 个空格。
    • end_of_line = lf: 换行符使用 LF (Unix 风格)。
    • insert_final_newline = true: 在文件的末尾插入一个空白行。
    • trim_trailing_whitespace = true: 去除行尾的空格。
  • [*.md]: 适用于 Markdown 文件的配置。

    • insert_final_newline = false: 不在 Markdown 文件的末尾插入空白行。
    • trim_trailing_whitespace = false: 不去除 Markdown 文件行尾的空格。

这些设置旨在提供一致的编辑器配置,以避免因编辑器不同而引起的格式化问题。例如,它确保所有文件都使用相同的字符集、缩进风格等。

 

上面这些是不用的工作区,或者说是不同的项目之间的配置,下面是自己的vscode的一些配置,当然如果有上面的配置,用户配置只是补充

二、用户配置

点击设置,随便搜点啥,点击这个链接就到了用户设置里,当然也可以根据此来进行工作区的设置,这里有中文,比较方便。

{
  // 添加 vue 支持
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "vue",
      "autoFix": false
    }
  ],
  // //火花组件的配置
  // "powermode.enabled": true, //启动
  // "powermode.presets": "flames", // 火花效果
  // "powermode.enableShake": true, // 去除代码抖动
  // "powermode.shake.enabled": false,
  // "powermode.combo.counterEnabled": "hide",
  // "powermode.combo.timerEnabled": "hide",
  // #这个按用户自身习惯选择
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  // #让vue中的js按编辑器自带的ts格式进行格式化
  "vetur.format.defaultFormatter.js": "vscode-typescript",
  "vetur.format.defaultFormatterOptions": {
    "js-beautify-html": {
      "wrap_attributes": "force-aligned"
      // #vue组件中html代码格式化样式
    }
  },
  // // 格式化stylus, 需安装Manta's Stylus Supremacy插件
  // "stylusSupremacy.insertColons": false, // 是否插入冒号
  // "stylusSupremacy.insertSemicolons": false, // 是否插入分好
  // "stylusSupremacy.insertBraces": false, // 是否插入大括号
  // "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
  // "stylusSupremacy.insertNewLineAroundBlocks": false,

  //代码格式化
  // vscode默认启用了根据文件类型自动设置tabsize的选项
  "editor.detectIndentation": false,
  // 重新设定tabsize
  "editor.tabSize": 2,
  // #每次保存的时候自动格式化
  "editor.formatOnSave": true,
  "files.autoSave": "onFocusChange",
  "files.autoSaveDelay": 3000,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "never"
  },
  "editor.semanticTokenColorCustomizations": {
    "[Default Dark+]": {}
  },
  //  #使用带引号替代双引号
  // "prettier.singleQuote": false,
  //  #让函数(名)和后面的括号之间加个空格
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,

  // "tabnine.experimentalAutoImports": true,
  // "emmet.preferences": {},
  // "prettier.jsxSingleQuote": false,
  // "html.completion.attributeDefaultValue": "singlequotes",
  // "[vue]": {
  //   "editor.defaultFormatter": "esbenp.prettier-vscode"
  // },
  //关闭vetur标签闭合检查(用于解决iview标签报错)
  "explorer.confirmDelete": true,
  //auto Rename tag
  "editor.linkedEditing": true,
  //auto close tags
  "html.autoClosingTags": true,
  "javascript.autoClosingTags": true,
  "typescript.autoClosingTags": true,
  //auto import 为JavaScript//TypeScript使用auto-import suggestions,.在文件移动时更新导入,并在top使用绝对路径组织导入。
  "javascript.suggest.autoImports": true,
  "typescript.suggest.autoImports": true,

  "javascript.updateImportsOnFileMove.enabled": "always",
  "typescript.updateImportsOnFileMove.enabled": "always",
  //括号颜色和水平
  "editor.bracketPairColorization.independentColorPoolPerBracketType": true,
  "editor.bracketPairColorization.enabled": true,
  "editor.guides.bracketPairs": true,
  "cSpell.userWords": ["pview"],
  "editor.accessibilitySupport": "off",
  "merge-conflict.autoNavigateNextConflict.enabled": true,
  "volar.autoCompleteRefs": true,
  "cSpell.languageSettings": [],
  "prettier.semi": false,
  "tabnine.experimentalAutoImports": true,
  "workbench.editorAssociations": {
    "*.ttf": "default"
  },
  "prettier.singleQuote": true,
  "prettier.jsxSingleQuote": true,
  "workbench.colorTheme": "Monokai Dimmed",
  "C_Cpp.commentContinuationPatterns": ["/**"],
  "git.suggestSmartCommit": false,
  "git.confirmSync": false,
  "window.zoomLevel": 1,
  "editor.fontVariations": false
}

 我上面的配置是自己常用的,可以参考,基本每一个配置都有对应的中文解释,可以很方便的看懂。

over~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1327757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java SSM框架实现人事员工考勤签到请假管理系统项目【项目源码+论文说明】

基于java的SSM框架实现人事员工考勤签到请假管理系统演示 摘要 在高速发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,人们对人事管理系统越来越重视&#xff0…

Java Web Day06_JQuery基础

课程安排 jQuery是什么 框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。 jQuery是目前使用最广泛的javascript函数库,极大地简化了ja…

100GPTS计划-AI学术AcademicRefiner

地址 https://chat.openai.com/g/g-LcMl7q6rk-academic-refiner https://poe.com/AcademicRefiner 测试 减少相似性 增加独特性 修改http://t.csdnimg.cn/jyHwo这篇文章微调 专注于人工智能、科技、金融和医学领域的学术论文改写,秉承严格的专业和学术标准。 …

华为OD机试 - 发广播 - 并查集(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、并查集Java 实现并查集 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA&…

机器学习算法(11)——集成技术(Boosting——梯度提升)

一、说明 在在这篇文章中,我们学习了另一种称为梯度增强的集成技术。这是我在机器学习算法集成技术文章系列中与bagging一起介绍的一种增强技术。我还讨论了随机森林和 AdaBoost 算法。但在这里我们讨论的是梯度提升,在我们深入研究梯度提升之前&#xf…

【算法设计与分析】——动态规划算法

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

OpenAI公布ChatGPT安全框架

12月19日,OpenAI在官网公布了“准备框架”(Preparedness Framework)测试版。该文档详细介绍了OpenAI是如何保证ChatGPT等产品的安全防护措施、开发和部署流程。 OpenAI表示,随着大模型的功能迭代不断完善,其能力已经开…

Diss一下ApiPost国产软件

如图所示,我用ApiPost和PostMan调用同一个接口同样的参数。 后端返回的数字是20231204183521830,在ApiPost中却变成了20231204183521832。不能理解为什么数字会2 。 而PostMan这边返回的值是正确的。 看来ApiPost确实是遥遥领先了

30. MVC设计模式

JavaEE 开发流程 ↓MVC的概念 MVC是Model-View-Controller的简称,即模型-视图-控制器。 MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。 模型(model) 模型是应用程序的主体部分…

本地使用 docker 运行OpenSearch + Dashboard + IK 分词插件

准备基础镜像 注意一定要拉取和当前 IK 分词插件版本一致的 OpenSearch 镜像: https://github.com/aparo/opensearch-analysis-ik/releases 写这篇文章的时候 IK 最新版本 2.11.0, 而 dockerhub 上 OpenSearch 最新版是 2.11.1 如果版本不匹配的话是不能用的, 小版本号对不上…

Python---TCP 客户端程序开发

1. 开发 TCP 客户端程序开发步骤回顾 创建客户端套接字对象和服务端套接字建立连接发送数据接收数据关闭客户端套接字 2. socket 类的介绍 导入 socket 模块 import socket 创建客户端 socket 对象 socket.socket(AddressFamily, Type) 参数说明: AddressFamily 表示IP地…

SpringBoot 3.2.0实战

SpringBoot 3.2.0实战 1. 关键知识点2. 后端开发(SpringBoot 3.2.0)2.1 接口实现的三大步2.2 参数校验2.3 登录认证2.4 获取用户信息2.5 更新用户基本信息2.6 更新用户头像2.7 更新用户密码 3. 前端开发(Vue3Element-Plus)3.1 前置知识3.2 常用指令3.2.1 v-for3.2.2…

Java 并发编程 —— 透过源码剖析 ForkJoinPool

目录 一. 前言 二. 工作窃取的实现原理 2.1. WorkQueue(工作队列) 2.2. 工作窃取流程 三. ForkJoinPool 源码解析 3.1. ForkJoinPool 的字段 3.1.1. 常量 3.1.2. 成员变量 3.1.3. ctl(5个部分组成) 3.2. 构造函数 3.3.…

Fabric:使用GoLand+Fabric-SDK-Go操作Fabric网络

遇到bug, 未完待续!!! 写在最前 前序博客已经介绍了使用命令的方式在Fabric上创建通道以及部署执行链码的方法,但这个过程太繁琐,尤其是当Fabric网络中peer节点和组织Org过多时,需要频繁的更改环境变量。 Hyperledger Fabric官方提供了Fabri…

[论文分享]TimeDRL:多元时间序列的解纠缠表示学习

论文题目:TimeDRL: Disentangled Representation Learning for Multivariate Time-Series 论文地址:https://arxiv.org/abs/2312.04142 代码地址:暂无 关键要点:多元时间序列,自监督表征学习,分类和预测 摘…

<JavaEE> 网络编程 -- 网络编程和 Socket 套接字

目录 一、网络编程的概念 1)什么是网络编程? 2)网络编程中的基本概念 1> 收发端 2> 请求和响应 3> 客户端和服务端 二、Socket套接字 1)什么是“套接字”? 2)Socket套接字的概念 3&…

ToB还是ToC?工业级与消费级AR眼镜都能干什么?

来源:虹科数字化与AR 虹科分享 | ToB还是ToC?工业级与消费级AR眼镜都能干什么? 原文链接:https://mp.weixin.qq.com/s/lyTASoKm29woIbfcKBtMvQ 欢迎关注虹科,为您提供最新资讯! 随着科技的飞速发展&#…

VLOOKUP中的#N/A错误很常见,这里有详细排除步骤

你的VLOOKUP是否提取了错误的数据,或者你根本无法使其工作?本教程展示了如何快速修复常见的VLOOKUP中的#N/A错误并克服其主要限制。 ​在VLOOKUP公式中,当Excel找不到查找值时,会显示#N/A错误消息(意思是“不可用”&a…

Navicat里MySQL表的创建(详细)

我以Navicat连接MySQL为例,演示表的创建方法。 前提 创建表的语法: create table 表名 ( 字段名1,字段类型, 字段名2,字段类型, ...... 字段名n,字段类型 ); 我计划在test库存放一…

HarmonyOS引导页登陆页以及tabbar的代码说明 home 下拉刷新页代码 5

下拉刷新页 代码说明 这一页第一次运行时很卡&#xff0c;就是你点击修改&#xff0c;要等一会才出来&#xff0c;加一句&#xff0c;修改的字样原来应是修车二字。只能将错就错。 const TopHeight 200; Component export default struct Car {State list: Array<number&…