vs code 截图不带水印,需借助插件(如 screencap)在截图前叠加 png 水印,或用 imagemagick 在截图后添加文字水印;浏览器 devtools 方案因 webview 限制不可靠。

VS Code 里截图本身不带水印,得靠外部工具或插件干预
VS Code 没有内置“给截图加水印”的功能,screenshot 命令(比如 Developer: Take Screenshot)只负责捕获当前窗口或活动编辑器区域,输出纯图。所谓“效果图加水印”,本质是截图后处理,或者用能注入图层的第三方方案。
推荐做法:用 ScreenCap 插件 + 自定义水印 PNG
目前最轻量、可控性最强的方式是安装 ScreenCap 插件(作者:74th),它支持在截图前叠加一个固定位置的 PNG 图片作为水印:
- 安装插件后,在设置里启用
screenCap.watermark.enabled,设为true - 把你的水印图(建议透明背景、尺寸小、右下角构图)存成
watermark.png,路径填进screenCap.watermark.path(如:${env:HOME}/.vscode/watermark.png) - 水印位置由
screenCap.watermark.position控制,可选bottom-right/bottom-left/top-right等,别用center,容易遮代码 - 注意:该插件对多显示器缩放支持一般,如果 VS Code 开在 125% 缩放屏上,水印可能错位——此时建议统一用 100% 缩放截图,或手动调整水印图尺寸匹配缩放比
替代方案:截图后用命令行快速加文字水印(macOS/Linux)
如果你习惯终端操作,且只需要简单文字水印(比如“DEV ONLY”),不用开图形工具,一条 convert 命令就能搞定(需先装 ImageMagick):
convert screenshot.png -gravity southeast -pointsize 16 -fill gray -annotate +10+10 'DEV ONLY' screenshot_watermarked.png
关键点:
-
-gravity southeast把文字锚点定在右下角;+10+10是距右/下边缘的像素偏移 - 文字颜色用
-fill控制,太浅(如 white)在浅色主题截图里看不见,建议用gray或#888 - Windows 用户可用
magick(ImageMagick 7+)代替convert,命令结构一致 - 别直接覆盖原图,
convert默认会修改源文件——务必指定新文件名
为什么不用浏览器 DevTools 的水印方案?
有人试过在 VS Code 内置浏览器(比如打开 file:// 页面)里用 CSS ::before 叠加水印,再截图——这方法不可靠:
- VS Code 的 WebView 不支持全局 CSS 注入,
userContent.css对它无效 - 即使硬塞
<style></style>标签,截图时水印常被裁掉或渲染异常(WebView 的渲染管线和主界面不同步) - 该方式只适用于你恰好在 WebView 里展示内容,不适用于编辑器、侧边栏、调试面板等真实“效果图”场景
水印这件事,核心矛盾在于:VS Code 截图是光栅化快照,不是网页 DOM。想稳定控制,就得在截图前(插件层)或截图后(图像处理层)动手——中间没有魔法开关。










