Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Sproto Language SupportNew to Visual Studio Code? Get it now.
Sproto Language Support

Sproto Language Support

pilaoban

|
1 install
| (0) | Free
Syntax highlighting, Go to Definition (F12), hover preview and outline for skynet sproto (.sproto) protocol files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Sproto Language Support

给 skynet sproto(.sproto)协议文件的 VSCode 语言支持:语法高亮、F12 跳转定义、悬停预览、大纲(Outline)。

功能

  • 语法高亮:注释 #、类型定义 .TypeName、协议 name tag {、字段 name id : type、基础类型、request/response。
  • F12 跳转定义:光标在 模块.类型(如 match_mirror.ChapterMirrorInfo、base.IntKV)上按 F12 / Ctrl+点击,跳到 common/<模块>.sproto 里 .<类型> { 的定义处。数组前缀 * 与 map 后缀 (key) 会被自动忽略。
  • 悬停预览:鼠标悬停在类型引用上,直接看到该类型的完整定义块,不用跳文件。
  • 大纲(Outline):编辑器面包屑 / Outline 面板列出本文件的协议(带 #tag)和类型,展开看字段;协议下按 request/response 分组。

约定(本项目 p3proto 布局)

proto/command/<模块>.sproto   协议:  cs_xxx 67 { request{} response{} }
proto/common/<模块>.sproto    类型:  .ChapterMirrorInfo { chapter_id 2 : integer }
  • 类型引用 = <模块>.<类型名>;<模块> = sproto 文件名,<类型名> 定义在 common/<模块>.sproto 的 .<类型名> {。
  • 扩展从当前 .sproto 文件所在目录回溯 proto 根(command/common 的父目录),扫同根下 command/ 与 common/ 建索引;对符号链接/junction(如 P3Client/proto → p3proto)天然生效。索引在文件增删改时自动失效重建。

已知限制

  • F12 只解析 模块.类型 与裸类型名;(key) map 键指向类型内字段的跳转暂未做。
  • 类型解析基于大括号缩进约定(每行一个 header / 一个字段 / 单独的 }),非通用 sproto 词法分析;本项目文件均满足。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft