Skip to content

代码高亮 - v0.1.0 扩展功能

All Writer 支持代码语法高亮,让代码块更加清晰易读,提升技术文档的专业性和可读性。

功能特点

🎨 丰富的语言支持

All Writer 支持主流编程语言的语法高亮:

  • Web 开发:JavaScript, TypeScript, HTML, CSS, Vue, React
  • 后端开发:Python, Java, C++, C#, Go, Rust, PHP, Ruby
  • 数据科学:R, SQL, MATLAB
  • 脚本语言:Bash, Shell, PowerShell
  • 配置文件:JSON, YAML, XML, TOML, INI
  • 其他:Markdown, Dockerfile, Makefile

⚡ 实时高亮

  • 编辑时实时显示语法高亮
  • 自动识别代码语言
  • 支持深色和浅色主题

基础用法

行内代码

使用单个反引号包裹代码:

markdown
使用 `console.log()` 输出内容。

效果:

使用 console.log() 输出内容。

代码块

使用三个反引号包裹代码,并指定语言:

markdown
```javascript
function hello() {
  console.log("Hello, World!");
}
```

效果:

javascript
function hello() {
  console.log("Hello, World!");
}

支持的编程语言

JavaScript / TypeScript

markdown
```javascript
// JavaScript 示例
const greet = (name) => {
  return `Hello, ${name}!`;
};

console.log(greet("World"));
```
markdown
```typescript
// TypeScript 示例
interface User {
  name: string;
  age: number;
}

const user: User = {
  name: "Alice",
  age: 30
};
```

Python

markdown
```python
# Python 示例
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))
```

Java

markdown
```java
// Java 示例
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```

C++

markdown
```cpp
// C++ 示例
#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}
```

Go

markdown
```go
// Go 示例
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
```

Rust

markdown
```rust
// Rust 示例
fn main() {
    println!("Hello, World!");
}
```

SQL

markdown
```sql
-- SQL 示例
SELECT users.name, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id
WHERE orders.total > 100
ORDER BY orders.total DESC;
```

HTML / CSS

markdown
```html
<!-- HTML 示例 -->
<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h1>Hello, World!</h1>
</body>
</html>
```
markdown
```css
/* CSS 示例 */
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}
```

JSON / YAML

markdown
```json
{
  "name": "All Writer",
  "version": "0.1.0",
  "features": [
    "Markdown",
    "AI",
    "Export"
  ]
}
```
markdown
```yaml
# YAML 示例
name: All Writer
version: 0.1.0
features:
  - Markdown
  - AI
  - Export
```

Bash / Shell

markdown
```bash
#!/bin/bash
# Bash 示例
echo "Hello, World!"
for i in {1..5}; do
    echo "Count: $i"
done
```

代码块选项

显示行号

某些语言会自动显示行号,或者可以通过配置启用:

markdown
```javascript
function example() {
  // 代码会自动高亮
  return "example";
}
```

代码标题

可以在代码块前添加标题说明:

markdown
**示例:JavaScript 函数**

```javascript
function greet(name) {
  return `Hello, ${name}!`;
}
```

使用技巧

1. 指定语言

始终为代码块指定语言,以获得最佳的语法高亮效果:

markdown
```python
# ✅ 正确:指定了语言
def hello():
    print("Hello")
```
markdown
```
# ❌ 错误:未指定语言
def hello():
    print("Hello")
```

2. 代码格式化

在粘贴代码前,建议先格式化代码,保持一致的缩进和风格。

3. 代码注释

在代码中添加必要的注释,解释关键逻辑:

markdown
```python
def fibonacci(n):
    """计算斐波那契数列的第 n 项"""
    if n <= 1:
        return n
    # 递归计算
    return fibonacci(n-1) + fibonacci(n-2)
```

4. 长代码块

对于很长的代码块,考虑拆分或只展示关键部分:

markdown
```javascript
// 关键函数示例
function processData(data) {
  // ... 处理逻辑
  return result;
}
```

5. 错误示例

可以使用代码块展示错误示例,并用注释说明:

markdown
```javascript
// ❌ 错误示例
function badExample() {
  var x = 1;  // 使用 var 而不是 const/let
  return x++;
}

// ✅ 正确示例
function goodExample() {
  const x = 1;
  return x + 1;
}
```

常见问题

Q: 支持哪些编程语言?

A: All Writer 支持主流编程语言的语法高亮,包括 JavaScript、Python、Java、C++、Go、Rust、SQL、HTML、CSS 等 50+ 种语言。

Q: 如何添加新的语言支持?

A: All Writer 使用内置的语法高亮引擎,支持的语言列表是预定义的。如果需要支持新语言,可以在代码块中使用最接近的语言标记。

Q: 代码可以复制吗?

A: 可以。用户可以直接选中代码文本进行复制,或者使用代码块右上角的复制按钮(如果支持)。

Q: 代码高亮可以导出吗?

A: 可以。代码高亮会随文档一起导出,在 HTML 和 PDF 格式中都能正常显示。

Q: 如何禁用语法高亮?

A: 不指定语言即可,代码块会以纯文本形式显示:

markdown
```
这是纯文本代码块
没有语法高亮
```

Q: 支持代码折叠吗?

A: 当前版本不支持代码折叠,但可以通过 HTML 的 <details> 标签实现类似效果。

相关资源


💡 提示:为代码块指定正确的语言类型,可以获得最佳的语法高亮效果,提升代码的可读性。