uni-app 可创建自定义语言及自定义文本着色规则

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app 可创建自定义语言及自定义文本着色规则

常年使用文本编辑器查看各种log,需要可自定义文本着色规则,并与自定义文件后缀(.log)关联,成为新的一种(自定义)语言,下一次打开同类型文件即可自动调取该规则。

规则编写可使用正则表达式,可定义文本着色的文字颜色,背景颜色,字体大小,粗细等等

【扩展】自带智能化识别并高亮:网址、JSON文本、IP地址、日期时间格式

比如 xcode 中的插件Log File Highlighter就很不错

早年使用sublime自己写了个扩展支持勉强用用,后来转到xcode,使用Log File Highlighter插件感觉不错。 现希望转到HBuilderX,但没有发现如何实现该功能,官方的扩展接口里面似乎没有这部分的扩展途径?

开发环境 版本号 项目创建方式
HBuilderX 未知 未知

1 回复

在uni-app中,虽然直接创建自定义语言和自定义文本着色规则的功能并不内建于框架本身,但我们可以通过一些技巧和第三方库来实现类似的效果。通常,这种需求涉及到代码高亮显示,比如用于代码编辑器或代码展示组件。

以下是一个使用 highlight.js 库在 uni-app 中实现代码高亮显示的示例。highlight.js 是一个流行的语法高亮库,支持多种编程语言,并且易于集成。

步骤一:安装 highlight.js

首先,在你的 uni-app 项目中安装 highlight.js。你可以通过 npm 或 yarn 安装:

npm install highlight.js --save
# 或者
yarn add highlight.js

步骤二:引入和使用 highlight.js

在你的页面或组件中引入并使用 highlight.js。以下是一个示例代码,展示如何在页面中实现代码高亮显示:

<template>
  <view class="container">
    <view class="code-block" v-html="highlightedCode"></view>
  </view>
</template>

<script>
import hljs from 'highlight.js';
import 'highlight.js/styles/github.css'; // 选择一个你喜欢的主题

export default {
  data() {
    return {
      code: `
function helloWorld() {
  console.log('Hello, world!');
}
helloWorld();
      `
    };
  },
  computed: {
    highlightedCode() {
      return hljs.highlightAuto(this.code).value;
    }
  }
};
</script>

<style>
.container {
  padding: 20px;
}

.code-block {
  background: #f5f5f5;
  padding: 15px;
  border-radius: 5px;
  overflow-x: auto;
}
</style>

说明

  1. 安装和引入:我们首先安装了 highlight.js,并在组件中引入它以及一个主题样式(这里使用的是 GitHub 主题)。
  2. 数据绑定:在 data 中定义一个包含代码字符串的变量 code
  3. 计算属性:使用计算属性 highlightedCode 来调用 hljs.highlightAuto 方法对代码进行高亮处理,并返回处理后的 HTML 字符串。
  4. 模板渲染:在模板中使用 v-html 指令将高亮后的代码渲染到页面上。

通过这种方式,你可以在 uni-app 中轻松实现自定义语言和自定义文本着色规则,只需确保 highlight.js 支持你需要的语言,或者根据需要扩展它的语言支持。

回到顶部