Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>MiraScriptNew to Visual Studio Code? Get it now.
MiraScript

MiraScript

CloudPSS

|
2 installs
| (1) | Free
MiraScript language support for Visual Studio Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MiraScript

Visual Studio Marketplace License: MIT

MiraScript 语言的 Visual Studio Code 扩展,提供全面的语言支持与智能编辑体验。

MiraScript 是一门表达式优先、不可变数据为核心的脚本语言,具有简洁的语法和强大的模式匹配能力。

功能特性

语法高亮

为 MiraScript(.mira)和 MiraScript 模板(.miratpl)文件提供完整的语法高亮支持,包括:

  • 关键字、运算符、字面量的着色
  • 字符串插值语法高亮
  • 语义标记(Semantic Tokens):基于编译分析提供更精确的变量、函数、参数、模块等着色

智能补全

  • 自动补全:输入时自动提供上下文相关的补全建议,包括变量、函数、关键字和属性
  • 签名帮助:调用函数时显示参数签名信息

代码导航

  • 转到定义:跳转到变量或函数的定义位置
  • 查找所有引用:查看符号在项目中的所有使用位置
  • 文档大纲:在大纲视图中快速浏览文件结构
  • 符号高亮:高亮显示当前光标所在符号的所有出现位置

代码诊断

实时检测并报告代码中的错误和警告,包括词法错误、语法错误和语义错误。

代码操作与重构

  • 重命名符号:安全地重命名变量和函数,自动更新所有引用
  • 代码操作:快速修复建议和代码重构操作
  • CodeLens:在函数声明上方显示内联操作信息

代码格式化

支持文档格式化,自动调整代码缩进和排版风格。

内嵌提示

通过 Inlay Hints 在编辑器中显示推断的参数名等辅助信息。

智能选择

支持基于语法结构的智能选择范围扩展,快速选中表达式、语句块等。

Markdown 集成

  • 在 Markdown 文件中使用 ```mira 和 ```miratpl 代码块时自动启用语法高亮
  • Markdown 预览中支持 MiraScript 代码块的渲染

支持的文件类型

文件扩展名 语言 ID 说明
.mira mirascript MiraScript 脚本文件
.miratpl mirascript-template MiraScript 模板文件

项目配置

本扩展支持通过 cosmiconfig 规范加载项目配置文件,配置名称为 mira。支持的配置文件包括:

  • package.json 中的 "mira" 字段
  • .mirarc、.mirarc.json、.mirarc.yaml、.mirarc.yml
  • .mirarc.js、.mirarc.cjs、.mirarc.mjs、.mirarc.ts
  • mira.config.js、mira.config.cjs、mira.config.mjs、mira.config.ts

配置选项

// mira.config.js
export default {
  // 全局变量
  globals: {
    PI: 3.14159,
    appName: 'MyApp',
  },
  // 全局函数定义
  functions: {
    myFunc: { name: 'myFunc', description: '自定义函数', parameters: [] },
  },
  // 全局模块
  modules: {
    utils: {
      helper: { name: 'helper', description: '辅助函数' },
    },
  },
  // 全局外部对象
  externs: {
    context: { value: 42 },
  },
};

配置文件中声明的全局变量、函数和模块会被语言服务识别,提供补全和诊断支持。修改配置文件后保存即可生效。

MiraScript 语言速览

// 变量声明
let x = 42;
let mut count = 0;

// 字符串插值
let name = "World";
let greeting = "Hello, $name!";

// 函数声明
fn add(a, b) { a + b }
fn square { it ^ 2 }

// 扩展调用(链式风格)
[1, 2, 3, 4, 5]
  ::filter(fn { it > 2 })
  ::map(fn { it * 10 });

// 模式匹配
match value {
  case 0 { "零" }
  case 1..10 { "小数" }
  case > 100 { "大数" }
  case _ { "其他" }
}

// 记录(对象)
let point = (x: 1, y: 2);
let (x: p_x, y: p_y) = point;

// 控制流
if condition {
  "yes"
} else {
  "no"
}

// 空安全
let result = obj.prop ?? "default";

更多语法参考请查看 MiraScript 文档。

系统要求

  • Visual Studio Code ≥ 1.90.0

许可证

MIT © CloudPSS

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