Help us learn about your current experience with the documentation. Take the survey.

语法高亮

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

GitLab 通过 Highlight.jsRouge Ruby gem 为所有文件提供语法高亮。它会根据文件扩展名尝试判断使用的语言,这在大多数情况下是足够的。

这里的路径使用 Git 中的 .gitattributes 接口

Web IDESnippets 使用 Monaco Editor 进行文本编辑,其内部使用 Monarch 库进行语法高亮。

为文件类型覆盖语法高亮

要为文件类型覆盖语法高亮:

  1. 如果项目的根目录中没有 .gitattributes 文件,请创建一个同名空白文件。

  2. 对于每个要修改的文件类型,在 .gitattributes 文件中添加一行,声明文件扩展名和你想要的高亮语言:

    # 这个扩展名通常会获得 Perl 语法高亮
    # 但如果我们也使用 Prolog,可能需要为具有此扩展名的文件覆盖高亮:
    *.pl gitlab-language=prolog
  3. 提交、推送并合并你的更改到默认分支。

当更改合并到你的 默认分支 后,你项目中所有的 *.pl 文件都会以你选择的语言进行高亮显示。

你还可以使用通用网关接口(CGI)选项来扩展高亮,例如:

# 包含 .erb 的 JSON 文件
/my-cool-file gitlab-language=erb?parent=json

# 整个文件都是高亮错误!
/other-file gitlab-language=text?token=Error

为文件类型禁用语法高亮

要完全禁用某个文件类型的高亮,请按照覆盖文件类型高亮的说明操作,并使用 gitlab-language=text

# 为此文件类型禁用语法高亮
*.module gitlab-language=text

配置高亮的最大文件大小

默认情况下,GitLab 会以纯文本形式渲染任何大于 512 KB 的文件。要更改此值:

  1. 打开你项目的 gitlab.yml 配置文件。

  2. 添加此部分,将 maximum_text_highlight_size_kilobytes 替换为你想要的值。

    gitlab:
      extra:
        ## 语法高亮的最大文件大小
        ## https://docs.gitlab.com/ee/user/project/highlighting.html
        maximum_text_highlight_size_kilobytes: 512
  3. 提交、推送并合并你的更改到默认分支。