简体中文 | English
一个 Vite 插件,点击页面元素,IDE 直接打开对应代码文件。支持 Vue2, Vue3, React, Svelte,Angular, SSR 等任何前端工程。
支持的 Vite 版本: 2.x, 3.x, 4.x, 5.x, 6.x, 7.x
# vite-plugin-code-inspector
npm install vite-plugin-code-inspector -D
// for Vue2
import { defineConfig } from "vite";
import { createVuePlugin } from "vite-plugin-vue2";
import inspector from "vite-plugin-code-inspector";
export default defineConfig({
plugins: [
createVuePlugin(),
inspector({
toggleButtonVisibility: "always", // always默认展示切换icon;never不展示icon(使用快捷键唤醒)
}),
],
});
// for Vue3
import { defineConfig } from "vite";
import Vue from "@vitejs/plugin-vue";
import inspector from "vite-plugin-code-inspector";
export default defineConfig({
plugins: [Vue(), inspector()],
});
// for react
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import inspector from "vite-plugin-code-inspector";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react(), inspector()],
});
// for preact
import { defineConfig } from "vite";
import preact from "@preact/preset-vite";
import inspector from "vite-plugin-code-inspector";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [preact(), inspector()],
});
// for svelte
import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import inspector from "vite-plugin-code-inspector";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [svelte(), inspector()],
});
inspector({
/**
* Toggle button visibility / 切换按钮隐藏展示
* @default 'active'
*/
toggleButtonVisibility?: 'always' | 'active' | 'never'
/**
* Default enable state
* @default false
*/
enabled?: boolean
/**
* Define a combo key to toggle inspector
* @default 'control-shift' on windows, 'meta-shift' on other os
*
* any number of modifiers `control` `shift` `alt` `meta` followed by zero or one regular key, separated by -
* examples: control-shift, control-o, control-alt-s meta-x control-meta
* Some keys have native behavior (e.g. alt-s opens history menu on firefox).
* To avoid conflicts or accidentally typing into inputs, modifier only combinations are recommended.
* You can also disable it by setting `false`.
*/
toggleComboKey?: string | false
/**
* append an import to the module id ending with `appendTo` instead of adding a script into body
* useful for frameworks that do not support trannsformIndexHtml hook (e.g. Nuxt3)
*
* WARNING: only set this if you know exactly what it does.
*/
appendTo?: string | RegExp
/**
* Customize openInEditor host (e.g. http://localhost:3000)
* @default false
* @deprecated This option is deprecated and removed in 5.0. The plugin now automatically detects the correct host.
*/
openInEditorHost?: string | false
/**
* lazy load inspector times (ms)
* @default false
*/
lazyLoad?: number | false
/**
* disable inspector on editor open
* @default false
*/
disableInspectorOnEditorOpen?: boolean
/**
* Hide information in VNode and produce clean html in DevTools
*
* Currently, it only works for Vue 3
*
* @default true
*/
cleanHtml?: boolean
/**
* Target editor when open in editor
*
* @default code (Visual Studio Code)
*/
launchEditor?: 'agy' | 'appcode' | 'atom' | 'atom-beta' | 'brackets' | 'clion' | 'code' | 'code-insiders' | 'codium' | 'cursor' | 'emacs' | 'idea' | 'notepad++' | 'pycharm' | 'phpstorm' | 'rubymine' | 'sublime' | 'vim' | 'visualstudio' | 'webstorm' | 'rider'
})
如果你使用 Antigravity 作为你的开发编辑器,可以这样配置:
import { defineConfig } from "vite";
import Vue from "@vitejs/plugin-vue";
import inspector from "vite-plugin-code-inspector";
export default defineConfig({
plugins: [
Vue(),
inspector({
launchEditor: "agy", // 设置为 Antigravity
}),
],
});
前提条件: 确保 Antigravity 的命令行工具 agy 已经安装并在系统 PATH 中可用。
vite-plugin-dev-inspector 重构优化而来。launch-ide 包,支持多种 IDE(包括 Antigravity, VS Code, Cursor 等)的自动识别与打开。