VS Code 代码格式化插件,代码美观的插件

news2024/9/21 14:52:22

背景:

前端代码格式化插件有很多,不同的编辑器和集成开发环境(IDE)通常会有不同的插件。以下是一些常用的前端代码格式化工具及其特点:

代码更加美观,可以使用工具来实现。常用的工具有Pretter、vuter、ESLint这三种。三种插件的下载方法(通过VSCode搜索下载安装);多个代码格式化插件的,查看当前的默认值,以及更改默认值。

一、常见的3种代码格式化插件

写在前面,总结

  • Prettier:专注于代码格式化,适用于多种语言。
  • ESLint:不仅能格式化,还能进行静态代码分析,适用于 JavaScript 和 TypeScript。
  • TSLint:专注于 TypeScript 的静态分析(已被弃用,建议使用 ESLint)。
  • Stylelint:专注于样式代码的格式化和静态分析。
  • EditorConfig:跨编辑器的统一代码风格工具。
  • Beautify:支持多种语言的代码格式化工具。(已弃用,建议使用Prettier)

(1).Pretter

只关注格式化,并不具有eslint检查语法等能力,只关心格式化文件(最大长度、混合标签和空格、引用样式等),包括JavaScript · Flow · TypeScript · CSS · SCSS · Less · JSX · Vue · GraphQL · JSON · Markdown

特点:

  • 一致性:Prettier 强制遵循一种代码风格,确保所有团队成员的代码风格一致。
  • 支持多种语言:支持 JavaScript、TypeScript、HTML、CSS、Markdown 等多种语言。
  • 扩展性:可以与各种编辑器和 IDE 集成,如 VS Code、Sublime Text、Atom 等。
  • 自动格式化:可以在保存文件时自动格式化代码。

在 VS Code 中安装 Prettier 插件后,可以在设置中启用保存时自动格式化: 

{
  "editor.formatOnSave": true,
  "prettier.requireConfig": true
}

(2).EditorConfig

  • 跨编辑器统一代码风格:通过 .editorconfig 文件,定义跨编辑器的一致代码风格。
  • 简单易用:配置文件简单,易于上手。
  • 广泛支持:支持多种编辑器和 IDE,如 VS Code、Sublime Text、Atom 等。

 

创建一个 .editorconfig 文件,定义代码风格: 

//editorconfig
root = true

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

 (3).ESlint

javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化完

特点:

  • 静态代码分析:不仅可以格式化代码,还可以检查代码中的潜在错误和不规范之处。
  • 可配置:可以通过配置文件自定义规则,支持多种插件和扩展。
  • 集成性:与各种编辑器和构建工具(如 Webpack、Gulp 等)集成良好。
  • 支持自动修复:通过 --fix 选项,可以自动修复许多简单的问题。

在 VS Code 中安装 ESLint 插件后,可以在设置中启用保存时自动修复:

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

(4).Beautify(已弃用)

类似于Prettier

特点:

  • 多语言支持:支持 HTML、CSS、JavaScript 等多种语言的代码格式化。
  • 可配置:可以通过配置文件自定义格式化规则。
  • 集成性:与多种编辑器和 IDE 集成良好。

 

在 VS Code 中安装 Beautify 插件后,可以在设置中配置:

{
  "beautify.config": {
    "html": {
      "indent_size": 2
    },
    "css": {
      "indent_size": 2
    },
    "js": {
      "indent_size": 2
    }
  }
}

(5).vetur

Vetur 是一个为 Vue.js 提供支持的 Visual Studio Code 扩展插件。它提供了丰富的功能来增强 Vue.js 开发体验,包括语法高亮、代码格式化、错误检测、自动补全等。

特点:

  • 语法高亮
    • 为 Vue 单文件组件(SFC)提供语法高亮,包括 <template><script><style> 部分。
  • 代码格式化
    • 支持使用 Prettier、ESLint、TSLint 等工具来格式化代码,可以针对 Vue 文件中的不同部分(如 HTML、CSS、JS)使用不同的格式化工具。
  • 错误检测
    • 提供实时的错误和警告提示,帮助开发者及时发现代码中的问题。
  • 自动补全
    • 提供智能的代码自动补全功能,包括 HTML 标签、Vue 特有的指令(如 v-ifv-for)、组件属性等。
  • 代码片段
    • 提供常用的代码片段,帮助开发者快速编写 Vue 组件、模板和样式。
  • 跳转到定义
    • 支持跳转到定义功能,可以快速跳转到组件、方法、变量的定义位置。
  • 类型检查
    • 对 TypeScript 提供良好的支持,能进行类型检查和类型提示。
  • 集成 Vue Devtools
    • 支持集成 Vue Devtools,可以在 VS Code 内部调试 Vue 组件。

 安装完成后,Vetur 会自动启用,并为 .vue 文件提供各种功能。你可以根据需要在 VS Code 的设置中进行进一步配置。例如,设置在保存文件时自动格式化代码:

{
  "editor.formatOnSave": true,
  "vetur.format.defaultFormatter.html": "prettier",
  "vetur.format.defaultFormatter.css": "prettier",
  "vetur.format.defaultFormatter.js": "prettier"
}

备注:因为用vue框架,这里详细介绍一下vetur

vue框架就用这两个插件:

 

使用 Vetur 的基本功能

创建一个新的 Vue 项目或打开一个现有的 Vue 项目,并打开 .vue 文件,Vetur 会自动提供以下功能:

  1. 语法高亮
    • 打开一个 .vue 文件,可以看到 <template><script><style> 部分都有语法高亮。
  2. 代码格式化
    • 在文件保存时,Vetur 会根据配置自动格式化代码。也可以手动使用快捷键(Windows/Linux:Shift + Alt + F,macOS:Shift + Option + F)进行格式化。
  3. 错误检测
    • 在编写代码时,Vetur 会实时检测语法错误,并在错误位置显示红色波浪线提示。
  4. 自动补全
    • 在编写模板、脚本和样式时,可以看到智能的代码补全建议。例如,输入 <div v- 后,会出现 v-ifv-for 等 Vue 指令的补全提示。
  5. 代码片段
    • 输入 vbase 并按下 Tab 键,会自动生成一个 Vue 组件的基本结构,包括 <template><script><style> 部分。

 

高级功能示例
跳转到定义

假设你在一个组件中引用了另一个组件,你可以按住 Ctrl 并点击组件名称,或者按下 F12,Vetur 会带你跳转到该组件的定义位置。

类型检查(适用于 TypeScript)

如果你的项目使用 TypeScript,可以在 <script> 标签中添加 lang="ts",Vetur 会为你提供类型检查和类型提示。

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  data() {
    return {
      message: 'Hello, TypeScript!'
    };
  }
});
</script>

二、下载安装方式

举例:

  • 打开 Visual Studio Code。
  • 进入扩展管理(左侧栏的方块图标)。
  • 搜索 "Vetur" 并安装。

三、多个代码格式化插件查看/更改默认值

多个代码格式化的插件,如何查看以及配置默认的插件。

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

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

相关文章

gitlab 搭建使用

1. 硬件要求 ##CPU 4 核心500用户 8 核心1000用户 ##内存 4 G内存500用户 8 G内存1000用户 2. 下载 链接 3. 安装依赖 yum -y install curl openssh-server postfix wget 4. 安装gitlab组件 yum -y localinstall gitlab-ce-15.9.3-ce.0.el7.x86_64.rpm 5. 修改配置文…

低成本,高性能:10 万美元实现Llama2-7B级性能

高性能的语言模型如Llama2-7B已经成为推动自然语言处理技术进步的重要力量。然而&#xff0c;这些模型往往需要昂贵的计算资源和庞大的研发投入&#xff0c;使得许多研究团队和小型企业望而却步。现在&#xff0c;JetMoE架构以其创新的设计和优化策略&#xff0c;不仅成功地在只…

算法复杂度<数据结构 C版>

什么是算法复杂度&#xff1f; 简单来说算法复杂度是用来衡量一个算法的优劣的&#xff0c;一个程序在运行时&#xff0c;对运行时间和运行空间有要求&#xff0c;即时间复杂度和空间复杂度。 目录 什么是算法复杂度&#xff1f; 大O的渐近表达式 时间复杂度示例 空间复杂度…

探索数据结构与算法的奇妙世界 —— Github开源项目推荐《Hello 算法》

在浩瀚的编程与计算机科学领域中&#xff0c;数据结构与算法无疑是每位开发者攀登技术高峰的必经之路。然而&#xff0c;对于初学者而言&#xff0c;这条路往往布满了荆棘与挑战。幸运的是&#xff0c;今天我要向大家推荐一个令人振奋的项目——《Hello Algo》&#xff0c;它正…

VSCode remote无法链接

报错信息如下&#xff1a; 远程主机密钥变化导致验证失败 无法连接 解决措施&#xff1a; 删除C:\Users\username.ssh\known_hosts中旧的主机密钥条目&#xff0c;重新连接

使用java实现快速排序算法的性能测试

Date: 2024.07.12 16:32:32 author: lijianzhan **简述&#xff1a;**在我的上一篇文章中简单的提到过算法&#xff0c;关于算法&#xff0c;现在再次的说明一下&#xff0c;算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程&#xff0c;一个算法的质量优…

mindspore打卡第24天之LSTM+CRF序列标注

LSTMCRF序列标注 概述 序列标注指给定输入序列&#xff0c;给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取&#xff0c;包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。以命名实…

力扣 爬楼梯

动态规划算法基础篇。 class Solution {public int climbStairs(int n) {int[] f new int[n 1];f[0] 1;f[1] 1;//当爬到n阶楼梯时&#xff0c;可知是由n-1阶或n-2阶楼梯而来for(int i 2; i < n; i) {f[i] f[i - 1] f[i - 2];//后面的每一阶种数由前两个状态得到}ret…

浪涌测试标准

IEC定义的浪涌标准主要包括以下几个方面&#xff1a;‌ 电源浪涌测试标准&#xff1a;‌ IEC 61000-4-11规定了如何进行电源电压变化测试&#xff0c;‌以评估设备在电源电压变动时的抗干扰性能。‌IEC 61000-4-13规定了如何进行电源瞬态间隔测试&#xff0c;‌以评估设备在电源…

计网-三次握手和四次挥手

TCP建立和断开连接的过程&#xff08;三次握手和四次挥手&#xff09; TCP通信的过程&#xff1a; 问题&#xff1a;tcp是如何保证数据在客户端和服务端之间通信传输的&#xff1f; 分为三个步骤&#xff1a;三次握手&#xff0c;传输数据确认&#xff0c;四次挥手。三次握手…

内容管理(C++)

文章目录 new 和 delete对于内置类型对于自定类型 operator new 和 operator deletenew 可以抛异常 new[] 和 delete[]&#xff08;补充&#xff09;定位new总结 以下测试都是在 VS2019环境下测试。 new 和 delete 对于内置类型 在C语言中&#xff0c;我们动态开辟内存用的是…

家具展示预约小程序对线上生意有什么用

沙发、茶几、衣柜等各种家具用品是每个家庭必备的&#xff0c;尤其是新房更需要&#xff0c;且在客户消费能力方面通常预算也比较足&#xff0c;市场中大小品牌比较多&#xff0c;以商场店、独立门店、线上电商平台经营为主。 在实际经营中&#xff0c;厂商和经销商都需要找到…

根据脚手架archetype快速构建spring boot/cloud项目

1、找到archetype&#xff0c;并从私仓下载添加archetype到本地 点击IDEA的file&#xff0c;选择new project 选择maven项目&#xff0c;勾选create from archetype 填写archetype信息&#xff0c;&#xff08;repository填写私仓地址&#xff09; 2、选择自定义的脚手架arche…

独家详细思路-2024 辽宁省大学数学建模竞赛C题

&#xff08;1&#xff09;当其他反应条件一定时&#xff0c;分别探讨反应温度&#xff0c;溶液pH&#xff0c;吸附剂用量对As(V)和ROX去除率的影响。 重点注意&#xff1a;分别探讨 去除率 思路&#xff1a;首先进行数据的预处理&#xff0c;包括缺失值和异常值处理&#xf…

ThreeJS-3D教学十五:ShaderMaterial(noise、random)

ThreeJS-3D教学十四:ShaderMaterial(length、fract、step) 上面这篇主要是操作 fragmentShader 片元着色器,实现对物体颜色的修改,这次咱们来看下修改 vertexShader 顶点着色器,这个其实就是位移各个顶点的位置。 接下来我们先介绍下 noise 噪声函数(Perlin Noise、Sim…

ArduPilot开源飞控之AP_Mount_Topotek

ArduPilot开源飞控之AP_Mount_Topotek 1. 源由2. 框架设计3. 重要函数3.1 动态过程3.1.1 AP_Mount_Topotek::update3.1.2 AP_Mount_Backend::calculate_poi 3.2 基础能力3.2.1 AP_Mount_Topotek::healthy3.2.2 AP_Mount_Topotek::has_pan_control 3.3 设备功能3.3.1 AP_Mount_T…

【python】Python报错分析:深入探索`AttributeError`及其解决方案

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

论文翻译:Large Language Models for Education: A Survey

目录 大型语言模型在教育领域的应用&#xff1a;一项综述摘要1 引言2. 教育中的LLM特征2.1. LLMs的特征2.2 教育的特征2.2.1 教育发展过程 低进入门槛。2.2.2. 对教师的影响2.2.3 教育挑战 2.3 LLMEdu的特征2.3.1 "LLMs 教育"的具体体现2.3.2 "LLMs 教育"…

Kafka接收消息

文章目录 Acknowledgment读消息指定分区批量消费消息拦截 // 采用监听得方式接收 Payload标记消息体内容. KafkaListener(topics {"test"},groupId "hello") public void onEvent(Payload String event,Header(value KafkaHeaders.RECEIVED_TOPIC) Stri…

运算放大器(2)

&#xff08;1&#xff09;反向放大器 Vout(-R2/R1)*Vi 图一运放的同向端接地0V&#xff0c;反向端和同向端虚短&#xff0c;所以也是0V 反向输入端输入电阻很高&#xff0c;虚断&#xff0c;几乎没有电流注入和流出&#xff0c;那么R1和R2相当于是串联的&#xff0c;流过一个…