Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>智能前端压缩工具New to Visual Studio Code? Get it now.
智能前端压缩工具

智能前端压缩工具

lsyw

|
11 installs
| (1) | Free
智能压缩文件夹中大于500KB的PNG图片,将其压缩至500KB以下,快速压缩css和js并打包!
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

智能前端压缩工具 (Smart Frontend Compressor)

一个高效的VSCode前端开发辅助插件,专注于PNG图片智能压缩、CSS/JS文件优化和项目构建打包。

功能特性

🖼️ 智能图片压缩

  • ✅ 智能PNG压缩:自动识别大于500KB的PNG图片,智能压缩至500KB以下
  • ✅ 批量处理:支持递归扫描文件夹,批量处理所有符合条件的PNG图片
  • ✅ 质量控制:采用自适应压缩算法,在保证图片质量的前提下最大化压缩效果
  • ✅ 原文件覆盖:直接覆盖原文件,节省存储空间
  • ✅ 进度显示:实时显示压缩进度,支持用户取消操作

🚀 项目构建打包

  • ✅ CSS优化:使用PostCSS生态进行CSS处理,支持嵌套语法、自动前缀、现代CSS特性转换
  • ✅ JavaScript压缩:使用Terser进行JS代码压缩和优化
  • ✅ 多环境支持:支持开发(dev)、测试(test)、生产(pro)三种构建环境
  • ✅ 智能打包:生产环境下自动创建项目打包文件
  • ✅ 一键触发:侧边栏面板提供独立的“开始构建”按钮

✂️ 字体裁切 (Font Subsetting)

  • ✅ 纯JS实现:基于HarfBuzz WASM技术,无需安装Python或fontTools
  • ✅ 特性保留:完美保留 GSUB/GPOS 等 OpenType 字体特性(如 ss05 等)
  • ✅ 智能提取:自动从 index.html 提取所有可见文本并去重
  • ✅ 多格式输出:一次处理同时生成 TTF、WOFF 和 WOFF2 格式
  • ✅ 全场景调用:支持在资源管理器右键(文件/文件夹)或编辑器右键直接触发,始终作用于工作区根目录

⚙️ 配置管理

  • ✅ 灵活配置:丰富的配置选项,满足不同项目需求
  • ✅ 环境选择:构建时可选择不同环境,支持默认环境配置
  • ✅ 参数调节:可配置压缩质量、目标大小、文件目录等参数
  • ✅ 右键菜单:在资源管理器中右键文件夹直接压缩
  • ✅ 预设管理:支持保存和快速切换构建配置预设
  • ✅ 批量构建:支持同时选中多个文件夹进行批量构建

使用方法

📁 PNG图片压缩

方法一:右键菜单(推荐)

  1. 在资源管理器中右键点击要压缩的文件夹
  2. 选择 "压缩文件夹PNG图片(至500KB以下)"
  3. 确认操作后,插件会自动扫描并压缩该文件夹内所有大于500KB的PNG图片

方法二:命令面板

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 输入 "压缩文件夹PNG图片" 并选择
  3. 选择要压缩的文件夹
  4. 确认操作

🏗️ 项目构建打包

方法一:命令面板(推荐)

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 输入 "构建并打包项目" 并选择
  3. 选择构建环境(开发/测试/生产)
  4. 确认操作,等待构建完成

方法二:右键菜单

  1. 在资源管理器中右键点击项目文件夹
  2. 选择 "构建项目"
  3. 选择构建环境并确认

方法三:批量构建(多项目)

  1. 在资源管理器中选中多个项目文件夹
  2. 右键点击选中的文件夹
  3. 选择 "批量构建项目"
  4. 选择构建环境并确认

方法四:侧边栏配置面板

  1. 在VSCode侧边栏找到 "FJY工具箱" (logo图标)
  2. 在 "项目构建" 面板中配置参数
  3. 点击 "� 开始构建并打包项目" 按钮

✂️ 字体裁切

方法一:右键菜单(最快)

  1. 在资源管理器右键点击任何文件/文件夹,或在代码编辑器内右键点击
  2. 选择 "字体裁切"
  3. 插件将自动从工作区根目录的 index.html 提取文字,并根据配置路径进行裁切

方法二:侧边栏面板

  1. 在侧边栏 "项目构建" 视图底部找到 "字体裁切" 板块
  2. 确认 "源字体目录" 和 "裁剪后存放路径"
  3. 点击 "🚀 开始裁切字体"

📋 预设配置管理

创建预设

  1. 在侧边栏配置面板中设置好构建参数
  2. 在预设配置区域输入预设名称
  3. 点击 "💾 保存当前配置为预设"

使用预设

  1. 在预设列表中点击要使用的预设名称
  2. 配置会自动加载到表单中
  3. 点击 "🔨 构建项目" 即可使用预设配置

编辑预设

  1. 点击预设名称加载配置
  2. 修改需要的参数
  3. 使用相同名称保存会自动更新预设

⚙️ 访问设置面板

方法一:命令面板

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 输入 "打开扩展设置" 并选择
  3. 在设置界面中搜索 "fjy-tools" 或 "智能前端压缩工具"

方法二:VSCode设置界面

  1. 按 Ctrl+, 打开设置
  2. 搜索 "fjy-tools"
  3. 找到 "智能前端压缩工具" 相关配置

方法三:扩展管理器

  1. 按 Ctrl+Shift+X 打开扩展管理器
  2. 找到 "智能前端压缩工具" 扩展
  3. 点击扩展详情中的 "设置" 选项卡

技术实现

🖼️ PNG压缩技术

  • 压缩算法:使用UPNG.js进行高效的PNG有损压缩
  • 智能策略:采用自适应质量调整算法,逐步降低压缩质量直到文件小于500KB
  • 质量保护:设置最低质量限制(默认20),防止过度失真
  • 透明度保持:完整保留PNG图片的透明通道信息

🎨 CSS处理技术

  • PostCSS生态:集成PostCSS及其插件生态
  • 嵌套语法:支持PostCSS嵌套语法,编写更优雅的CSS
  • 自动前缀:使用autoprefixer自动添加浏览器前缀
  • 现代特性:使用postcss-preset-env转换现代CSS语法

⚡ JavaScript优化

  • 代码压缩:使用Terser进行JavaScript代码压缩和优化
  • 语法转换:支持ES6+语法的兼容性转换
  • 死码消除:自动删除未使用的代码和注释

✂️ 字体裁切技术

  • HarfBuzz WASM:集成 HarfBuzz 的 WebAssembly 版本进行高性能字体处理
  • OpenType 特性保留:不同于常规工具,本插件能完整保留 GSUB/GPOS 表,确保 ss05 等高级排版特性不丢失
  • WASM 加速:裁切逻辑在 JS 环境下运行,速度快且不依赖外部二进制环境
  • Cheerio 提取:使用 Cheerio 高效解析 HTML,精确提取 body 内的可见字符

📦 项目结构处理

  • 智能复制:根据配置自动复制必要文件到输出目录
  • 目录管理:自动创建和管理输出目录结构
  • 环境隔离:不同环境使用不同的输出配置

配置说明

🖼️ 图片压缩配置

{
  "fjyTools.targetSize": 500,              // 目标文件大小(KB)
  "fjyTools.defaultQuality": 50,            // 默认压缩质量
  "fjyTools.minQuality": 20,                // 最低质量限制
  "fjyTools.qualityStep": 10                // 质量调整步长
}

🏗️ 项目构建配置

{
  "fjyTools.build.defaultEnv": "dev",        // 默认构建环境
  "fjyTools.build.showEnvSelector": true,    // 是否显示环境选择
  "fjyTools.build.filesToCopy": [            // 要复制的文件列表
    "index.html", "favicon.ico", "base", "css", "images", "script"
  ],
  "fjyTools.build.cssSourceDir": "one-css",  // CSS源文件目录
  "fjyTools.build.jsSourceDir": "one-js",    // JS源文件目录
  "fjyTools.build.cssOutputDir": "css",      // CSS输出目录
  "fjyTools.build.jsOutputDir": "script",     // JS输出目录
  "fjyTools.build.presets": [                // 构建预设配置列表
    {
      "name": "生产环境",
      "env": "pro",
      "filesToCopy": ["index.html", "favicon.ico", "css", "script"],
      "cssSourceDir": "one-css",
      "cssOutputDir": "css",
      "jsSourceDir": "one-js", 
      "jsOutputDir": "script",
      "showEnvSelector": false
    }
  ],
  "fjyTools.fontSubset.srcPath": "css/font/.font-spider", // 字体裁切源目录
  "fjyTools.fontSubset.destPath": "css/font"              // 字体裁切输出目录
}

安装方法

从VSIX文件安装

  1. 下载插件的.vsix文件
  2. 在VSCode中按 Ctrl+Shift+P
  3. 输入 "从VSIX安装" 并选择
  4. 选择下载的.vsix文件

从源码构建

  1. 克隆仓库到本地
  2. 运行 npm install 安装依赖
  3. 运行 npm run compile 编译插件
  4. 运行 npm run package 打包为VSIX文件

上传插件

  1. npm install --production
  2. vsce package
  3. vsce publish

使用场景

🎯 适合的开发者

  • 前端开发者:需要频繁处理图片资源的前端项目
  • UI/UX设计师:需要优化网页加载速度的设计项目
  • 全栈开发者:需要快速构建和部署Web应用的全栈项目

📋 典型应用

  • Web应用开发:压缩PNG图片,优化页面加载速度
  • 移动端项目:减少图片资源大小,提升移动端体验
  • 企业级项目:自动化构建流程,统一项目规范
  • 个人博客:优化静态资源,提高访问速度

注意事项

⚠️ 重要提醒

  • 文件覆盖:PNG压缩会直接覆盖原文件,建议提前备份
  • 质量损失:压缩过程可能导致图片质量轻微下降
  • 目录结构:项目构建会按照预设的目录结构组织文件
  • 环境配置:不同环境的构建输出可能有所不同

📌 最佳实践

  1. 在进行PNG压缩前,建议先备份重要图片文件
  2. 对于生产环境,建议先在测试环境验证构建效果
  3. 定期检查配置文件,确保符合项目需求
  4. 大型项目建议分批处理,避免单次处理时间过长

版本历史

v2.0.0 (2026-02-03)

  • ✨ 重大更新:新增全新“字体裁切”功能模块
  • 🚀 零依赖:采用 JS 模式(subset-font),彻底摆脱对 Python、fontTools 等外部环境的依赖
  • 💎 高级特性:完美支持 OpenType 特性保留(GSUB/GPOS),裁切后的字体依然保留 ss05 等高级排版效果
  • 🖱️ 快捷调用:新增资源管理器和编辑器右键菜单,一键触发字体裁切
  • 🎨 UI 升级:侧边栏面板全新布局,项目构建与字体裁切功能解耦
  • 🔧 功能解耦:移除构建流程中旧版 font-spider 逻辑,改为更可控的独立裁切模式
  • 🧹 清理优化:删除了小语种开发设置相关冗余代码,卸载了无用的 fonteditor-core 等依赖

v1.1.2 (2024-12-15)

  • 🐛 修复扩展激活时的JavaScript语法错误
  • ✨ 新增预设配置管理功能
  • 🔧 优化批量构建参数处理
  • 🎨 改进用户界面和交互体验

v1.0.0 (2024-12-11)

  • 🎉 首次发布,包含PNG智能压缩和项目构建功能
  • 📦 集成PostCSS和Terser处理流程
  • ⚙️ 完整的配置管理系统

贡献指南

欢迎提交Issue和Pull Request来帮助改进这个插件!

🐛 Bug报告

如果遇到问题,请提供以下信息:

  • VSCode版本
  • 操作系统版本
  • 插件版本
  • 详细的重现步骤
  • 错误截图或日志

💡 功能建议

欢迎提出新的功能建议,建议包含:

  • 功能描述和使用场景
  • 预期的用户价值
  • 可能的实现方式

感谢使用智能前端压缩工具! 🎉

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft