Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>hip-language-supportNew to Visual Studio Code? Get it now.
hip-language-support

hip-language-support

dadadaguai

|
5 installs
| (0) | Free
AMD、DCU的拓展HIP语言关键字高亮与代码补全支持
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

HIP 代码提示与高亮

HIP 语言 VSCode 扩展 —— 为 .hip 文件提供语法高亮与代码补全。


功能

  • 语法高亮:在完整 C++ 语法基础上,独立着色 HIP 特有的修饰符、Runtime API、类型和内置常量
  • 代码补全:输入时弹出 250+ 关键字列表,支持 6 个带参数占位符的代码片段(Tab 跳转)
  • 零配置:安装即用,不干扰 C/C++ 官方扩展(Microsoft C/C++、clangd)

安装

从 VSIX 安装

# 1. 编译
npm install
npm run compile

# 2. 打包
vsce package

# 3. 安装
code --install-extension hip-language-support-0.2.1.vsix

或直接在 VSCode 中:扩展面板 → ··· → 从 VSIX 安装

系统要求

  • VSCode >= 1.85.0

着色作用域

Token Scope 内容 示例
keyword.control.hip 函数/存储修饰符 + <<<>>> 语法 __global__, __shared__
support.function.hip Runtime API / 设备函数 / DCU 专属 hipMalloc, __syncthreads, duDeviceFlushCache
storage.type.hip HIP 特定类型 dim3, hipStream_t, float4
constant.language.hip 内置变量 / 错误码 / 拷贝方向 threadIdx, hipSuccess, hipMemcpyHostToDevice

所有 HIP token 作用域均以标准 C++ 命名空间为前缀,在不支持 HIP 自定义颜色的主题中自动回退为 C++ 对应颜色,视觉风格统一。

代码片段

触发器 展开效果
hipLaunchKernelGGL hipLaunchKernelGGL(kernel, dimGrid, dimBlock, sharedMem, stream, args...)
hipMemcpy hipMemcpy(dst, src, sizeBytes, hipMemcpyKind)
__shfl __shfl(var, lane, warpSize)
__shfl_up __shfl_up(var, delta, warpSize)
__shfl_down __shfl_down(var, delta, warpSize)
__shfl_xor __shfl_xor(var, laneMask, warpSize)
__launch_bounds__ __launch_bounds__(MAX_THREADS_PER_BLOCK, MIN_WARPS_PER_EXECUTION_UNIT)

选中片段后按 Tab 在占位符间跳转。

项目结构

hip-language-support/
├── package.json                    # 扩展清单
├── language-configuration.json     # 括号匹配、注释规则
├── tsconfig.json
├── .vscodeignore
├── syntaxes/
│   └── hip-injection.json          # TextMate 包含式语法
├── src/
│   └── extension.ts                # 补全提供者
└── out/                            # 编译产物

开发

npm install          # 安装依赖
npm run compile      # 编译 TypeScript
npm run watch        # 监听模式

按 F5 启动扩展开发宿主,打开 .hip 文件验证。

版本历史

v0.2.2(2026-07-13)

补全冲突修复:解决 HIP 关键字淹没用户自定义变量/函数名的问题([Issue #1](https://github.com/hip-dev/hip-language-support/issues/1))。

  • 根因:provideCompletionItems 每次无条件返回全部 250+ 条 HIP 关键字,未按光标前缀过滤,大量无关项挤占了 VSCode 原生词法补全(editor.wordBasedSuggestions)的展示空间
  • 修复:
    • 新增前缀匹配过滤:获取光标处单词,仅返回 startsWith 匹配的 HIP 关键字
    • 无匹配时返回空数组 [](而非 undefined),确保词法补全正常合并展示
    • 行为变化:输入 myVar → 不再弹出 250 条 HIP 关键字,VSCode 词法补全正常提示 myVariable;输入 hipM → HIP 关键字与用户自定义 hipMyFunction 同屏共存

v0.2.1(2026-07-13)

语法高亮机制升级:从注入式改为包含式,修复 C++ 基础关键字无高亮问题。

  • hip-injection.json:
    • 移除 injectionSelector,改为完整语法定义
    • 新增首行 { "include": "source.cpp" },加载 C++ 全部规则后再叠加 HIP token
    • <<<>>> 内部 $base 改为 $self,确保 kernel 参数也可复用 C++ 高亮
  • package.json:
    • 版本号升至 0.2.1
    • 移除 grammars.injectTo,避免 include: "source.cpp" 与注入模式产生递归

v0.1.0(2026-07-13)

初始版本。包含 TextMate 注入式语法高亮(4 类 token scope)和 250+ 关键字补全提供者。

许可

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft