VitePress-07-文档中代码块的使用全解

说明

本文会介绍 vitepress 中markdown文档对 代码块的支持特性,
包括基本使用、代码高亮、展示行号、指定代码行高亮、代码聚焦、以及代码删除/新增标记、代码错误和警告标记 等特性的使用。

代码块的基本语法

代码块的基本效果就是 :代码高亮展示,用于区分于其他的普通文本。

语法格式:```语言名称代码内容```例如:一个java的代码块```javaSystem.out.println("hello world");```

文档内容


# 代码块的基本使用```javapublic class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```

效果

在这里插入图片描述

展示行号

默认情况下,vitepress 中的代码块是不展示行号的。

展示行号有两种方式:
方式一 : 全局配置文件中配置 lineNumbers:true 属性
方式二 :代码块中添加 :line-numbers / :no-line-numbers 标记来启用禁用行号,这种方式会覆盖方式一的配置。

方式一 : 全局配置

配置文件

/*** 这是整个项目的配置文件*/
import { defineConfig } from 'vitepress'export default defineConfig({......markdown:{lineNumbers:true}
})

文档内容

# 代码块-全局配置启用行号```javapublic class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```

效果

在这里插入图片描述

方式二 :局部标记

语法 :
直接在代码块类型的后面添加 :line-numbers 即表示开启行号
直接在代码块类型的后面添加 :no-line-numbers 即表示关闭行号展示

文档内容

	# 代码块-配置启用行号```java:line-numberspublic class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```# 代码块-配置【不】启用行号```java:no-line-numberspublic class HelloWorld{public static void main(String[] args){System.out.println("这是没有行号的代码块");}}```

效果

在这里插入图片描述

补充 : 指定行号的起始值

说明 : 行号默认是从1开始的,如果想改变这个值,可以通过:line-numbers=n 的方式,直接指定行号从n开始

文档内容

	# 代码块-配置启用行号-指定行号起始值```java:line-numbers=101public class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```

效果

在这里插入图片描述

指定代码行高亮

代码块的作用是将块内的内容进行高亮展示,区别于其他的文本。
在代码块中,也可以指定某些行高亮,突出重点的代码行。
具体的表现就是 : 指定的行就像多了阴影一样

语法格式 : 在 :line-numbers 之后添加 {xxx}即可
指定单行 : {5} : 表示底行高亮
指定多行:{2-5} : 表示 第2到第5行 高亮
指定多个单行 :{2,3,8} : 表示 第2第3第8行 高亮
单行与多行混合 :{2,3,6-8} : 表示 第2第3 第6到第8行 高亮

文档内容

# 代码块-行高亮-单行```java:line-numbers {2}public class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```# 代码块-行高亮-多行```java:line-numbers {2-4}public class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```# 代码块-行高亮-多个单行```java:line-numbers {2,4}public class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```# 代码块-行高亮-单行与多行混合```java:line-numbers {1,3-5}public class HelloWorld{public static void main(String[] args){System.out.println("hello world");}}```

效果

在这里插入图片描述

在这里插入图片描述

代码聚焦

代码聚焦的效果是 :凸显指定的内容,并模糊其他的部分,从而使重点突出。

基本语法 :// [!code focus]

用法 : 在需要聚焦的行后添加上述标注即可。
补充 : // [!code focus:xxx] : xxx 是一个数字,代表要聚焦的行数

文档内容

    # 代码块-聚焦-单行```javapublic class HelloWorld{public static void main(String[] args){System.out.println("hello world"); // [!code focus]}}```# 代码块-聚焦-连续多行```javapublic class HelloWorld{public static void main(String[] args){ // [!code focus:3]System.out.println("hello world");}}```

效果展示

当鼠标不在代码块上的时候,只会清晰的展示被标注的部分,其他的部分自动模糊。
但是,当鼠标放上去的时候,整个代码块就会变清晰。

在这里插入图片描述

代码删除/新增标记

这个功能就类似于 git 中的代码的删除与新增的展示效果。

基本语法 :
删除标注// [!code --]
新增标注// [!code ++]

文档内容

    # 代码块-删除/新增标记```javapublic class HelloWorld{public static void main(String[] args){System.out.println("hello world"); // [!code --]System.out.println("hello new world"); // [!code ++]}}```

效果展示

在这里插入图片描述

代码错误/警告标记

这个也算是一个特殊的标记吧,可以提示读者哪些代码有错误。
这个功能的效果也是通过行的颜色来表示的。

基本语法 :
错误标注// [!code warning]
警告标注// [!code error]

文档内容

    # 代码块-错误/警告标记```javapublic class HelloWorld{public static void main(String[] args){System.out.println("hello world"); // [!code warning]System.out.println("hello new world"); // [!code error]}}```

效果展示

在这里插入图片描述

至此,代码块的常用的使用操作就完成了。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言进阶之文件操作

一、什么是文件 磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。 1)程序文件 包括源程序文件(后缀为.c),目标文件&#xff…

【Springcloud篇】学习笔记七(十三章):Stream消息驱动

第十三章_Stream消息驱动 1.消息驱动Stream介绍 1.1Stream为什么被引入 常见MQ(消息中间件): ActiveMQRabbitMQRocketMQKafka 有没有一种新的技术诞生,让我们不再关注具体MQ的细节,我们只需要用一种适配绑定的方式,自动的给我…

Codeforces Beta Round 8 C. Looking for Order 【状压DP】

C. Looking for Order 题意 平面直角坐标系上有 n n n 个物品,还有一个初始背包位置 ( x 0 , y 0 ) (x_0, y_0) (x0​,y0​),从背包位置出发,每次最多携带两个物品回来背包,求把所有物品带回背包位置要走的最短距离&#xff0c…

[python]基于Ultra-Fast-Lane-Detection-v2车道线实时检测onnx部署

【论文地址】 https://arxiv.org/pdf/2206.07389.pdf 【框架地址】 https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2 【框架介绍】 Ultra-Fast-Lane-Detection-v2(UFL-D-v2)算法是一种高效的车道线检测算法,它旨在快速准确地识别…

ElementUI Form:Form表单

ElementUI安装与使用指南 Form表单 点击下载learnelementuispringboot项目源码 效果图 el-form.vue&#xff08;Form表单&#xff09;页面效果图 项目里 el-form.vue代码 <script> export default {name: el_form,data() {var checkAge (rule, value, callback…

论文阅读-一种用于大规模分布式文件系统中基于深度强化学习的自适应元数据管理方案

名称&#xff1a; An Adaptive Metadata Management Scheme Based on Deep Reinforcement Learning for Large-Scale Distributed File Systems I. 引言 如今&#xff0c;大型集群文件系统的规模已达到PB甚至EB级别&#xff0c;由此产生的数据呈指数级增长。系统架构师不断设…

ai创作软件有哪些?这5个软件了解一下

ai创作软件有哪些&#xff1f;随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;在各个领域都展现出了惊人的实力。特别是在内容创作领域&#xff0c;AI技术已经成为了助力创作者们提高效率、释放创意的得力助手。今天&#xff0c;我们将为大家介绍五款AI创作…

指针的学习2

目录 数组名的理解 使用指针访问数组 一维数组传参的本质 冒泡排序 二级指针 指针数组 指针数组模拟二维数组 数组名的理解 数组名是数组首元素的地址 例外&#xff1a; sizeof(数组名),sizeof中单独放数组名&#xff0c;这里的数组名表示整个数组&#xff0c;计算的…

Mybatis Plus 结合 Mybatis X 插件快速生成CRUD代码

Mybatis Plus 结合 Mybatis X 插件快速生成CRUD代码 本文介绍在 IDEA 中如何使用 Mybatis X 插件快速生成 Mybatis Plus 的 CRUD 代码。包括实体类 model 代码、持久层 Mapper 代码和与之对应的Mapper.xml 代码、服务层 service 接口与impl接口实现类代码 1.安装Mybatis X 插…

蓝桥杯---生日蜡烛

某君从某年开始每年都举办一次生日party&#xff0c;并且每次都要吹熄与年龄相同根数的蜡烛&#xff0c;现在算起来&#xff0c;他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的? 请填写他开始过生日 party的年龄数。 注意:你提交的应该是一个整数&#xff0c;不要…

【JavaScript 漫游】【006】数据类型 array

文章简介 本文为【JavaScript 漫游】专栏的第 006 篇文章&#xff0c;记录笔者在了解 JS 数据类型 array 中摘录的知识点。 数组的本质是对象属组的 length 属性for ... in 循环和数组的遍历数组的空位类数组对象 除了上述 5 个重要知识点&#xff0c;学习数组更为重要的是掌…

golang开源的可嵌入应用程序高性能的MQTT服务

golang开源的可嵌入应用程序高性能的MQTT服务 什么是MQTT&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的、开放的消息传输协议&#xff0c;设计用于在低带宽、高延迟或不可靠的网络环境中进行通信。MQTT最初由IBM开发&#xf…