2.10.0
EN
Skip to content

CodeHighlighter 代码高亮 ​

用于高亮代码格式。对齐 React @ant-design/x CodeHighlighter。

独立组件。Markdown 插件 HighlightCode 仍保留,二者用途不同(插件 ≠ 本组件)。

何时使用 ​

  • 展示带语法高亮的代码片段,并提供复制功能及头部语言信息。
  • 与 XMarkdown 结合,通过 components.code 渲染围栏代码块。

代码演示 ​

基本 ​

JavaScript Code

javascript
import { ref } from 'vue';
import { Button } from 'ant-design-vue';

const App = () => (
  <div>
    <Button type="primary">Primary Button</Button>
  </div>
);

export default App;

CSS Code

css
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

HTML Code

html
<!DOCTYPE html>
<html>
<head>
  <title>My Page</title>
</head>
<body>
  <h1>Hello World</h1>
</body>
</html>

Prism Light Mode

使用 prismLightMode 按需加载语言,减小打包体积。

javascript
import { ref } from 'vue';
import { Button } from 'ant-design-vue';

const App = () => (
  <div>
    <Button type="primary">Primary Button</Button>
  </div>
);

export default App;
基本

基础用法,支持按需语言加载(prismLightMode)。

自定义 Header ​

Vue 计数器示例
JavaScript
import { ref } from 'vue';

function useCounter() {
  const count = ref(0);
  const inc = () => {
    count.value += 1;
  };
  return { count, inc };
}
自定义 Header

通过 header 自定义头部;传 false / null 可隐藏。

配合 XMarkdown ​

配合 XMarkdown

在 Bubble + XMarkdown 中作为 components.code 使用。

API ​

CodeHighlighterProps ​

属性说明类型默认值版本
lang代码语言类型string--
children代码内容(也可用默认插槽)string--
header头部内容;false / null 时不显示VNode | string | (() => VNode | string | false | null) | false | null--
highlightProps透传给高亮引擎的额外配置(当前支持 showLineNumbers / startingLineNumber / codeTagProps 等)CodeHighlighterHighlightProps--
prismLightMode是否 Prism 轻量模式(按 lang 按需加载)booleantrue-
classNames语义化 classNamePartial<Record<SemanticType, string>>--
styles语义化 stylePartial<Record<SemanticType, CSSProperties>>--
prefixCls样式类名前缀string--
rootClassName根节点额外 classstring--

Slots ​

插槽名说明
default代码内容(字符串文本)
header自定义头部

CodeHighlighter Ref ​

属性说明类型
nativeElement获取原生 DOM 节点HTMLElement

SemanticType ​

名称说明
root根节点
header头部容器
headerTitle标题
code代码容器

Semantic DOM ​

typescript
import { XMarkdown } from '@ant-design-x-vue/x-markdown';

const App = () => <XMarkdown content='Hello World' />;
export default App;
  • root
    根节点
  • header
    头部的容器
  • headerTitle
    标题
  • code
    代码容器

主题变量(Design Token) ​

Token说明默认
colorBgTitle标题背景颜色colorFillContent
colorTextTitle标题文本颜色colorText
colorBorderCode代码块边框颜色colorBorderSecondary

贡献者 ​

贡献者

正在加载贡献者信息...