必须安装 solidjs-community.solid-js-vscode 插件、配置 tsconfig.json 的 "jsx": "preserve" 和 "jsximportsource": "solid-js",并手动重启 ts server;缺一即导致 jsx 不高亮、createsignal 灰色、无类型提示。

缺的不是插件数量,而是 solidjs-community.solid-js-vscode 插件 + tsconfig.json 里那两个关键字段 + 手动重启 TS Server。其他所有“没提示、JSX 不高亮、createSignal 灰色”的现象,90% 都卡在这三步上。
为什么 createSignal 是灰色、悬停没类型?
VSCode 的 TypeScript 语言服务根本没加载 Solid 的类型定义,它还在按 React 模式解析 JSX。
-
tsconfig.json缺"jsx": "preserve":TS 就会尝试把<div> 当作 React 元素处理,触发 <code>React is not defined报错 - 缺
"jsxImportSource": "solid-js":TS 不知道createMemo、onMount这些函数该从哪导入类型,自然不提示、不跳转 - 值写成
"solid-js/web"或"./node_modules/solid-js"也不行——必须严格是字符串"solid-js" - 改完配置后没执行
Restart TS server,等于没改 - 只认
solidjs-community.solid-js-vscode——solidjs.solidjs已废弃,装了反而干扰 - 卸载所有其他 Solid 相关插件(包括 Volar 的 Solid 分支),它们和这个插件冲突
- 插件靠内容激活:只要文件里有
createEffect()或<show></show>,就会自动启用 Solid 模式,不依赖后缀 - 副作用:如果你在纯 React 项目里误粘了一个
createStore,VSCode 可能切到 Solid 模式,导致useState提示消失;此时右下角点语言模式 → “Configure File Association for '*.tsx'” → 设为typescriptreact -
vite.config.ts中启用solidPlugin()是给构建用的,不影响编辑器提示 - 必须确保项目根目录存在
tsconfig.json(或jsconfig.json),否则插件连配置入口都找不到 - 如果用的是 JS 项目(
jsconfig.json),jsx和jsxImportSource仍需手动加上,JS 项目不支持types字段,但这两个字段有效 - 验证是否生效:打开任意
.tsx文件,输入createMemo,看是否有完整签名提示;再敲<div>,确认不是纯白而是带颜色 <p>最容易被忽略的是:VSCode 不会自动重载 TS Server,哪怕你改了十次 <code>tsconfig.json,不手动执行Restart TS server,一切配置都是空转。另外,Solid 的 JSX 高亮和类型提示完全不依赖文件后缀,而是靠内容触发——所以别被index.tsx这个名字骗了,它可能正在悄悄用 Solid 模式解析,也可能压根没激活。
装了插件但 JSX 标签还是白底黑字?
VSCode 默认把 .tsx 当作 TypeScript React 处理,Solid 插件需要明确“接管权”才能激活语法高亮和标签语义。
用于端到端视频本地化流程的轻量编排器,路由至四个专注子技能——/wjs-transcribing-audio、/wjs-translating-subtitles...
为什么 vite.config.ts 里配了 solidPlugin() 还是没用?
插件只是编译器,不参与 VSCode 的类型推导;TS Server 要加载 Solid 类型,得靠项目配置本身被识别。










