能否让cargo check优先显示错误而非警告?
让cargo check优先显示错误而非按行号排序
当然可以实现,有两种常用方式:
1. 使用内置的短格式输出
直接给cargo check加上--message-format=short参数,这个格式会自动将所有错误信息优先展示,警告信息跟在错误之后,不会按行号混排:
cargo check --message-format=short
默认的human格式(也就是你当前使用的)是按代码行号顺序输出信息,所以会把错误和警告混在一起,而short格式则以消息级别为优先级排序,错误>警告>提示。
2. 定制化输出(需额外工具)
如果需要更灵活的输出控制,可以用JSON格式导出消息,再用工具过滤排序。比如用jq(一款JSON处理工具)先提取所有错误,再提取警告:
# 先输出所有错误 cargo check --message-format=json | jq -r 'select(.reason == "compiler-message") | if .message.level == "error" then .message.rendered else empty end' # 再输出所有警告 cargo check --message-format=json | jq -r 'select(.reason == "compiler-message") | if .message.level == "warning" then .message.rendered else empty end'
这种方式适合需要自定义输出样式的场景,不过如果只是单纯需要错误优先,第一种方式足够简单高效。
内容的提问来源于stack exchange,提问作者Lai Yu-Hsuan
相关产品推荐
相关产品推荐

