You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不依赖第三方包,如何编写Vue3 Composition API单文件组件的IDE可识别文档?

解决Vue3 Composition API组件IDE hover文档显示问题

在不依赖第三方包的情况下,让IntelliJ IDEA在hover使用<script setup>的Vue3组件时显示文档弹窗,正确的做法是在组件的特定位置添加标准JSDoc注释,具体如下:

正确的注释位置与格式

方式1:组件最顶部(<template>标签上方)

直接在组件的<template>前添加JSDoc注释,IDE会自动关联到组件本身:

/**
 * 自定义操作按钮组件
 * 提供带状态的按钮交互,支持禁用状态与自定义文本
 * @property {string} label - 按钮显示的文本内容(必填)
 * @property {boolean} disabled - 是否禁用按钮,默认false
 * @fires click - 按钮被点击时触发,无额外参数
 */
<template>
  <button :disabled="disabled" @click="$emit('click')" class="custom-btn">
    {{ label }}
  </button>
</template>

<script setup>
defineProps({
  label: {
    type: String,
    required: true
  },
  disabled: {
    type: Boolean,
    default: false
  }
})

defineEmits(['click'])
</script>

方式2:<script setup>块的第一行(导入语句前)

如果习惯把注释写在脚本内,可放在<script setup>的最开头、导入语句之前:

<script setup>
/**
 * 卡片展示组件
 * 用于结构化展示标题与内容信息
 * @props {string} title - 卡片的标题文本
 * @props {string} content - 卡片的主体内容
 */
import { ref } from 'vue'

const props = defineProps(['title', 'content'])
</script>

<template>
  <div class="card-container">
    <h2>{{ title }}</h2>
    <p>{{ content }}</p>
  </div>
</template>

关键注意事项

  • 注释必须用/** ... */包裹,单行//或普通多行/* ... */无法被IDE识别为组件文档
  • 描述props可使用@property或@props标签,事件用@fires或@emits标签,IDE会解析这些标签并在hover时展示对应信息
  • 确保你的IntelliJ IDEA Vue插件是最新版本,旧版本对<script setup>的注释支持可能不完善

内容的提问来源于stack exchange,提问作者KaptajnKold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:03:32