推荐使用:`@types/vscode` 和 `vscode-test`

推荐使用:@types/vscodevscode-test

🎉 对于VS Code扩展开发者来说,这是一则重要的更新通知!原本的 vscode-extension-vscode 已经被弃用,并且其功能已被两个新发布的模块——@types/vscodevscode-test 所取代。这两个新的模块不仅依赖更少,还为编写测试提供了更大的灵活性,并将持续接收更新。

1、项目介绍

这个NPM包曾经是VS Code扩展开发的核心工具,但现在,我们建议您转向使用 @types/vscode 提供类型定义和 vscode-test 进行测试支持。这两个模块旨在提供一个更加稳定、高效的扩展开发环境。

2、项目技术分析

@types/vscode 现在包含了所有可供扩展使用的API定义,确保了代码的类型安全,而 vscode-test 则让创建和运行扩展测试变得简单易行,不再局限于原来 vscode 模块的功能。

最近的一次更新(1.1.37)中,已经移除了 requesturl-parse 的依赖,减少了潜在的安全风险并优化了性能。

3、项目及技术应用场景

  • 扩展开发:利用 @types/vscode 定义的接口,您可以轻松地构建符合VS Code生态的各种扩展,如代码高亮插件、代码片段管理器等。
  • 自动化测试:借助 vscode-test ,您可以便捷地编写和执行针对您的扩展的全面测试,确保它们在不同的VS Code环境中都能正常工作。

4、项目特点

  • 安全性提升:移除不必要依赖,仅保留核心功能,减少潜在的安全问题。
  • 模块化设计:API与测试工具分离,提高了代码维护性和扩展性。
  • 持续更新@types/vscodevscode-test 将持续接收更新,保持与VS Code最新版本的兼容性。
  • 易于迁移:官方提供了详细的迁移指南,帮助开发者顺利过渡到新模块。

如果你正在或准备开发VS Code扩展,那么这是一个不容错过的重要转变。立即更新你的开发工具链,享受更高效、更稳定的扩展开发体验吧!

了解更多关于VS Code扩展开发的信息

查看完整迁移指南及更新记录

此项目遵循 MIT 许可协议。

[Release Notes]: https://code.visualstudio.com/updates/v1_36#_splitting-vscode-package-into-typesvscode-and-vscodetest
[Migration Guide]: https://code.visualstudio.com/api/working-with-extensions/testing-extension#migrating-from-vscode
[LICENSE]: MIT

让我们拥抱变化,一起步入VS Code扩展开发的新时代!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

export default function createVitePlugins(mode: string, isBuild = false) { const viteEnv = parseLoadedEnv(loadEnv(mode, process.cwd())) const vitePlugins: (PluginOption | PluginOption[])[] = [ vue(), vueJsx(), vueLegacy({ renderLegacyChunks: false, modernPolyfills: [ 'es.array.at', 'es.array.find-last', 'es.object.has-own', ], }), // https://github.com/vuejs/devtools viteEnv.VITE_OPEN_DEVTOOLS && VueDevTools({ launchEditor: viteEnv.VITE_VUE_DEVTOOLS_LAUNCH_EDITOR ?? 'vscode', }), envParse({ dtsPath: 'src/types/env.d.ts', }), // https://github.com/unplugin/unplugin-auto-import autoImport({ imports: [ 'vue', 'vue-router', 'pinia', ], dts: './src/types/auto-imports.d.ts', dirs: [ './src/utils/composables/**', ], }), // https://github.com/hannoeru/vite-plugin-pages Pages({ dirs: 'src/views', exclude: [ '**/components/**/*.vue', ], }), // https://github.com/nonzzz/vite-plugin-compression viteEnv.VITE_BUILD_COMPRESS?.split(',').includes('gzip') && compression(), viteEnv.VITE_BUILD_COMPRESS?.split(',').includes('brotli') && compression({ exclude: [/\.(br)$/, /\.(gz)$/], algorithm: 'brotliCompress', }), viteEnv.VITE_BUILD_ARCHIVE && Archiver({ archiveType: viteEnv.VITE_BUILD_ARCHIVE, }), AppLoading('loading.html'), // https://github.com/unplugin/unplugin-turbo-console TurboConsole(), // https://github.com/chengpeiquan/vite-plugin-banner banner(` /** * 由 Fantastic-admin 提供技术支持 * Powered by Fantastic-admin * https://fantastic-admin.hurui.me */ `), { name: 'vite-plugin-debug-plugin', enforce: 'pre', transform: (code, id) => { if (/src\/main.ts$/.test(id)) { if (viteEnv.VITE_APP_DEBUG_TOOL === 'eruda') { code = code.concat(` import eruda from 'eruda' eruda.init() `) } else if (viteEnv.VITE_APP_DEBUG_TOOL === 'vconsole') { code = code.concat(` import VConsole from 'vconsole' new VConsole() `) } return { code, map: null, } } }, }, { name: 'vite-plugin-disable-devtool', enforce: 'pre', transform: (code, id) => { if (/src\/main.ts$/.test(id)) { if (viteEnv.VITE_APP_DISABLE_DEVTOOL) { code = code.concat(` import DisableDevtool from 'disable-devtool' DisableDevtool() `) } return { code, map: null, } } }, }, { name: 'vite-plugin-terminal-info', apply: 'serve', async buildStart() { const { bold, green, cyan, bgGreen, underline } = picocolors // eslint-disable-next-line no-console console.log( boxen( `${bold(green(`由 ${bgGreen('Fantastic-admin')} 驱动`))}\n\n${underline('https://fantastic-admin.hurui.me')}\n\n当前使用:${cyan('基础版')}`, { padding: 1, margin: 1, borderStyle: 'double', textAlignment: 'center', }, ), ) }, }, ] return vitePlugins }
04-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邴联微

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值