当前位置:首页 > 下载列表 > Experimental Tree Sitter

Experimental Tree Sitter 0.2.1

新的介绍内容:ExperimentalTreeSitter是一款为VSCode设计的语法高亮插件,基于Tree-Sitter技术,为几乎所有编程语言提供强大的语法着色引擎。该扩展通过利用VSCodeDecorationAPI,覆盖了标准TextMate正则匹配提供的语法着色。它通过构建完整的语法树,有效克服了内置TextMate语法的所有限制。作为一款上下文感知的工具,它能够解析复杂的语言
分类:   下载/工具 · 工具软件 来源:  点击进入 版本:  0.2.1
日期:  2025-07-16 人气:   大小:  
标签:   C C++ cpp Syntax highlight coloring highlighting highlighter Parser Tree-Sitter
点击下载 相关下载
功能介绍

新的介绍内容:

Experimental Tree Sitter是一款为VSCode设计的语法高亮插件,基于Tree-Sitter技术,为几乎所有编程语言提供强大的语法着色引擎。该扩展通过利用VSCode Decoration API,覆盖了标准TextMate正则匹配提供的语法着色。它通过构建完整的语法树,有效克服了内置TextMate语法的所有限制。作为一款上下文感知的工具,它能够解析复杂的语言结构,提供对源代码的完整覆盖。增量解析系统确保了高性能,这些优势使得语法高亮更加准确和一致。

注意事项

目前,VS Code Marketplace发布的扩展仅在Windows-x64上可用。未来更新将解决此问题。对于其他操作系统,请从GitHub页面下载预编译的.vsix包。

支持的语言

  • C
  • 更多语言将在贡献者的帮助下增加

自定义设置

Syntax Highlighter提供了多种设置,以便将主题颜色分配给语法术语。为了简单直观的自定义,我们保持了语法术语的数量较少,包括:类型、函数、变量、字符串、数字、注释等。这些设置可以在settings.json的workbench.colorCustomizations语法子部分中找到。可以通过自动完成功能来发现可自定义的颜色,并在悬停时提供简短描述。完整的设置列表可以在Contributions选项卡中找到。为了为[Visual Studio Dark]主题重新定义语法颜色,请将以下内容添加到settings.json中:

"workbench.colorCustomizations": {
    "[Visual Studio Dark]": {
        "syntax.type": "#26A69A",
        "syntax.namespace": "#00897B",
        "syntax.function": "#00BCD4",
        "syntax.variable": "#42A5F5",
        "syntax.string": "#90A4AE",
        "syntax.number": "#90A4AE",
        "syntax.punctuation": "#A1887F",
        "syntax.comment": "#546E7A",
        "syntax.keyword_constant": "#A89F9B",
        "syntax.keyword_directive": "#7E57C2",
        "syntax.keyword_control": "#7986CB",
        "syntax.keyword_operator": "#9575CD",
        "syntax.storage_modifier": "#00897B"
    }
},

为了与内置的TextMate语法保持一致,可以为相应的TextMate范围提供相同的颜色。或者,可以将颜色从TextMate移植到Syntax Highlighter。在大多数情况下,存在一对一的匹配。例如,对于C语言:syntax.function = entity.name.function 或 syntax.number = constant.numeric。可以通过Ctrl Shift P -> Developer: Generate Color Theme...来发现当前的TextMate颜色,在生成的主题文件中查看tokenColors部分。以下设置将TextMate颜色与Syntax Highlighter同步,适用于C语言:

"editor.tokenColorCustomizations": {
    "[Visual Studio Dark]": {
        "types": "#26A69A",
        "functions": "#00BCD4",
        "variables": "#42A5F5",
        "strings": "#90A4AE",
        "comments": "#546E7A",
        "keywords": "#7986CB",
        "textMateRules": [
            {
                "scope": "storage.type",
                "settings": {"foreground": "#26A69A"}
            },
            {
                "scope": "entity.name.function",
                "settings": {"foreground": "#00BCD4"}
            },
            {
                "scope": [
                    "meta.function-call",
                    "source.cpp meta.block variable.other"
                ],
                "settings": {"foreground": "#42A5F5"}
            },
            {
                "scope": "punctuation",
                "settings": {"foreground": "#A1887F"}
            },
            {
                "scope": "comment",
                "settings": {"foreground": "#546E7A"}
            },
            {
                "scope": "constant.numeric",
                "settings": {"foreground": "#90A4AE"}
            },
            {
                "scope": [
                    "constant.language",
                    "variable.language"
                ],
                "settings": {"foreground": "#A89F9B"}
            },
            {
                "scope": "keyword.control",
                "settings": {"foreground": "#7986CB"}
            },
            {
                "scope": "keyword.operator",
                "settings": {"foreground": "#9575CD" }
            },
            {
                "scope": "storage.modifier",
                "settings": {"foreground": "#00897B"}
            },
        ]
    }
},

分发

由于依赖于原生Node.js模块,目前无法在VS Code Marketplace发布跨平台包。发布的版本仅与Windows-x64兼容。您可以从GitHub存储库下载适用于您的操作系统的.vsix包。要安装下载的扩展,请执行Ctrl Shift P -> Extensions: Install from VSIX命令,并选择下载的文件。目前,适用于Windows-x64和Linux-x64的版本已经可用。

构建

Syntax Highlighter扩展依赖于特定的Tree-sitter模块。这些是需要为特定架构、操作系统和Node.js版本编译的原生Node.js模块。请参考BUILD.md获取相关指令。

贡献

贡献的最佳方式是实现对新语言的支持。扩展的改进也受到欢迎。待办事项清单上的第一件事是改进分发和打包,这些工作由于原生模块而变得复杂。请参考CONTRIBUTE.md获取详细信息。

待办事项

  • 改进分发和打包
  • 增加更多语言支持
版本声明
本文转载于:https://marketplace.visualstudio.com/items?itemName=jeff-hykin.experimental-tree-sitter 如有侵犯,请联系study_golang@163.com删除
查看更多
课程推荐
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
    204次学习
  • MySQL数据管理之备份恢复案例解析视频教程
    MySQL数据管理之备份恢复案例解析视频教程
    《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
    163次学习
  • MySQL索引优化解决方案
    MySQL索引优化解决方案
    本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
    182次学习
  • 极客学院Docker视频教程
    极客学院Docker视频教程
    Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
    243次学习
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
    128次学习
  • JavaScript极速入门
    JavaScript极速入门
    本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
    431次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码