VSCode插件版的通义灵码(Tongyi Lingma)可以在代码输入过程中提供实时审查和错误提示功能,解决了成员之间 code review 时间成本以及一些代码开发过程中可能遇到的问题,hover到代码模块就可以给出相应的优化提示以及代码审查问题,并且能在开发过程中实时的提供快速提示,还可以实时对话,在开发过程中提效显著。

下载地址:vscode 插件库中直接搜索 Tongyi Lingma 或 通义灵码 即可;

核心特点

  • 代码编写时实时审查
    • 在输入代码时会实时分析语法并给出提示
    • 对明显的语法错误会立即标注(如缺少分号、括号不匹配等)
  • 代码质量问题提示
    • 重复代码、过长函数等提示
    • 对不符合最佳实践的写法给出建议
  • 类型检查(针对TypeScript)
    • 在 TypeScript 文件中提供类型错误检测
    • 对类型不匹配的变量使用给出警告
  • 内置Vue2.0专用规则库(Options API/ESLint扩展)

安装与激活

  1. 在VSCode插件面板搜索"通义灵码"

  1. 使用账号登录(支持钉钉、支付宝、淘宝、1688账号扫码登录,我用的是支付宝)

  1. 配置:在 settings.json 中配置
{
  // 启用/禁用代码审查
  "tongyi.codeReview.enable": true,

  // 设置审查严格度 
  "tongyi.codeReview.level": "warning",// 或"error"/"suggestion"

  // 忽略的文件或目录(支持 glob 模式,比如mock文件等)
  "tongyi.codeReview.ignorePatterns": ["**/test/*", "**/mock/*"],

  // 是否检查 TypeScript 类型(Vue/TS 项目推荐开启)
  "tongyi.codeReview.checkTypes": true,

  // 是否在保存时自动修复可修复的问题
  "tongyi.codeReview.autoFixOnSave": false,

  // 自定义审查规则(示例:禁用未使用变量的警告)
  "tongyi.codeReview.customRules": {
    "no-unused-vars": "off"
  }

   // 启用 Vue 模板语法检查
  "tongyi.vue.enableTemplateCheck": true,

  // 检查 Vue 属性命名规范(如 props 是否驼峰)
  "tongyi.vue.propsNamingConvention": "camelCase",

  // 是否检查 v-for 必须带 :key
  "tongyi.vue.requireVForKey": true
}

实时审查示例(Vue2.0场景)

快速提示

创建一个 .vue 的文件,快速提示根据上下文会自动判断需要补充的部分,按 tab 键即可接受建议;

输入时触发审查

案例一:vue 模板检测错误
<template>
  <div>
    <!-- 通义灵码提示:通义灵码会提示v-for缺少:key -->
    <li v-for="item in items">{{ item.name }}</li>
    
    <!-- 通义灵码提示:会提示未定义的变量 -->
    {{ count }}
  </div>
</template>
案例二:JavaScript/TypeScript错误
// 通义灵码提示:会提示未使用的变量
const res = 'test';

// 通义灵码提示:会提示可能的undefined风险
getUserName(user) {
  return user.name.first; // 如果user.name可能为undefined会警告
}
案例三:模板渲染
<template>
  <div>
    <!-- 通义灵码提示:v-if 和 v-for 同时使用会导致性能问题 -->
    <div v-for="item in list" v-if="item.active">
      {{ item.name }}
    </div>
  </div>
</template>

优化后的代码:

<template>
  <div>
    <div v-for="item in activeList" :key="item.id">
      {{ item.name }}
    </div>
  </div>
</template>
<script>
// 在数据处理的时候过滤掉不需要展示的
export default {
  computed: {
    activeList() {
      return this.list.filter(item => item.active);
    }
  }
}
</script>
案例四:JavaScript 隐式类型转换
// 通义灵码提示:== 可能导致意外类型转换,建议使用 ===
if (user.id == selectedId) { 
  // ...
}

手动审查

上述的配置文件配置审查情况下可能不生效,需要手动去执行审查:

效果等同实时审查,但是可能体验感没有那么好。除此之外还可以生成单元测试、代码注释等。

错误提示形式

  1. 波浪线标注
    1. 有问题的代码下方会显示彩色波浪线(类似ESLint)
    2. 红色表示错误,黄色表示警告,蓝色表示建议
  2. 悬停提示
    1. 鼠标悬停在问题代码上会显示具体错误描述
    2. 包含问题原因和修改建议

典型审查场景

场景 示例
语法错误 括号不匹配
代码优化 提示冗余代码 未使用变量
API使用建议 推荐更优的API建议
类型安全 在 TS 中推断类型冲突(如果你的项目支持ts)
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐