Rainbow Fart C++
一个为C++程序员设计的彩虹屁鼓励插件,当你编写C++代码时,它会根据你输入的关键词播放鼓励的语音或显示鼓励的消息。
功能特点
- 监听C++代码编辑,识别特定关键词
- 使用ffplay播放鼓励的声音(不再依赖浏览器)
- 显示鼓励的消息提示
- 可启用/禁用插件功能
- 可自定义ffplay路径
安装要求
重要提示:ffplay是插件正常工作的关键!
安装ffplay
Windows系统
好消息! 插件已内置Windows版本的ffplay文件,位于 resources/bin/ffplay.exe
,无需额外下载!
如果内置的ffplay无法正常工作,你可以从官方下载:
- 访问 FFmpeg官网 或直接前往 Windows构建页面
- 下载最新的稳定版本(推荐下载"ffmpeg-git-full.7z"或"ffmpeg-git-essentials.7z")
- 解压下载的文件到一个文件夹,例如
C:\ffmpeg
- 确保解压后的文件夹中包含
bin
目录,其中有 ffplay.exe
文件
macOS系统
使用Homebrew安装:
brew install ffmpeg
或者从 FFmpeg官网 下载macOS版本
Linux系统
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install ffmpeg
CentOS/RHEL:
sudo yum install ffmpeg ffmpeg-devel
或者从 FFmpeg官网 下载对应Linux版本
安装方法
从VS Code扩展市场安装(推荐)
- 在VS Code中,点击左侧边栏的"扩展"图标
- 搜索"Rainbow Fart C++"并安装
- 重启VS Code以激活插件
从源码构建
- 克隆或下载本项目
- 在VS Code中打开项目目录
- 运行
npm install
安装依赖
- 运行
npm run package
打包插件
- 在VS Code中按
F5
进行调试,或使用 code --install-extension rainbow-fart-cpp-0.0.1.vsix
安装打包后的插件
配置说明
配置ffplay路径
这是插件正常播放声音的关键步骤!
- 打开VS Code的设置(
Ctrl+,
或 Cmd+,
)
- 在搜索框中输入
rainbow-fart-cpp
- 在
ffplay Path
配置项中,输入ffplay可执行文件的完整路径:
- Windows示例:
C:\ffmpeg\bin\ffplay.exe
- macOS/Linux示例:
/usr/bin/ffplay
或 /usr/local/bin/ffplay
其他配置选项
rainbow-fart-cpp.enable
:启用或禁用插件功能(默认为true
)
rainbow-fart-cpp.customSoundMappingsFilePath
:自定义声音映射配置文件的路径,留空则使用插件内置的配置文件
声音映射功能
插件支持从多个声音目录加载声音文件,包括复用其他项目的声音资源。声音映射配置文件位于 config/soundMappings.json
,它定义了:
- soundDirectory:声音文件目录,可以包含绝对路径
- mappings:关键词与声音文件的映射关系
默认配置中已经包含了对 D:/workspace/opensrc/vscode-rainbow-fart/src/sounds
目录的引用,这样插件就可以复用原项目的声音资源。
自定义声音映射
你可以:
- 直接编辑插件内置的
config/soundMappings.json
文件
- 创建自己的配置文件,并在 VS Code 设置中通过
rainbow-fart-cpp.customSoundMappingsFilePath
指定路径
配置文件格式示例:
{
"description": "自定义声音映射配置",
"soundDirectory": "resources/sounds/cpp",
"mappings": {
"if": "if",
"for": "for",
"class": "class"
// 更多关键词映射...
}
}
使用方法
命令
Toggle Rainbow Fart C++
:切换插件的启用/禁用状态
Show Rainbow Fart C++ Status
:显示插件当前状态
可以通过按下 Ctrl+Shift+P
(或 Cmd+Shift+P
)打开命令面板,然后输入上述命令来使用。
工作原理
当你在C++或C文件中编辑代码时,插件会自动检测你输入的关键词。当检测到关键词时,插件会:
- 查找与关键词相关的声音文件(如果有)
- 播放对应的声音文件
- 显示鼓励的消息提示
如何查看详细日志
插件的详细日志信息可以在VS Code的输出面板中查看:
- 点击VS Code底部的"输出"选项卡
- 在输出面板右上角的下拉菜单中选择"Rainbow Fart C++"
这里会显示插件的详细运行日志,包括关键词检测、声音文件查找和播放过程等信息,有助于排查问题。
添加声音文件
默认情况下,插件会在 resources/sounds/cpp
目录下查找声音文件。你可以按照以下步骤添加自己的声音文件:
- 在
resources/sounds/cpp
目录下创建声音文件
- 文件命名建议包含关键词,例如
if.mp3
、class.mp3
等
- 支持的声音格式:
.mp3
、.wav
、.ogg
关键词列表
当前支持的C++关键词包括:
if
、for
、while
- 条件和循环语句
class
、function
- 面向对象编程
std
、vector
、map
- STL容器
try
、catch
- 异常处理
const
- 常量修饰
pointer
- 指针
template
- 模板
namespace
- 命名空间
include
- 文件引用
return
- 函数返回
new
、delete
- 动态内存管理
override
- 虚函数重写
常见问题解决
没有声音播放,但有消息提示
这是最常见的问题,通常是由以下原因导致的:
- ffmpeg未安装:请按照前面的说明安装ffmpeg
- ffplay路径配置错误:请检查VS Code设置中的ffplay路径是否正确
- 系统PATH中未包含ffplay:如果未配置具体路径,确保ffplay所在目录已添加到系统PATH中
- 权限问题:确保VS Code有足够的权限执行ffplay命令
问题排查步骤
- 打开VS Code的输出面板,查看Rainbow Fart C++的日志信息
- 确认关键词被正确检测到(日志中会显示"检测到关键词"的信息)
- 确认声音文件被正确找到(日志中会显示"找到声音文件"的信息)
- 确认ffplay可用性检查结果(日志中会显示"ffplay可用性检查结果")
- 如果ffplay不可用,请检查ffplay的安装和配置
如何验证ffplay是否正确安装
在命令行中运行以下命令:
# Windows系统
"C:\ffmpeg\bin\ffplay.exe" -version
# macOS/Linux系统
ffplay -version
如果能显示ffplay的版本信息,则说明ffplay已正确安装。
开发说明
如果你想参与开发或自定义此插件,可以:
- 修改
config/soundMappings.json
文件来自定义关键词和对应的鼓励消息
- 修改
src/extension.ts
文件来调整插件的行为
- 添加更多的声音文件
License
MIT
鸣谢
灵感来自于原彩虹屁插件项目,但不再依赖浏览器,而是使用ffplay播放声音。