能否在Visual Studio Code终端使用进程替换?执行code --diff遇BrokenPipeError
解决
code --diff用进程替换触发BrokenPipeError的问题 问题根源
code --diff不支持bash的进程替换语法<(...)。diff命令能处理这种shell生成的匿名管道/临时文件,但VS Code的diff工具要求操作真实的磁盘文件,进程替换出来的不是常规文件,导致管道连接中断,抛出BrokenPipeError。
可行解决方案
- 临时文件中转法:先把内容写入临时文件再对比
cat file1.txt > /tmp/tmp_file1.txt cat file2.txt > /tmp/tmp_file2.txt code --diff /tmp/tmp_file1.txt /tmp/tmp_file2.txt # 用完可以删掉临时文件 rm /tmp/tmp_file1.txt /tmp/tmp_file2.txt - 直接用原文件路径:如果file1.txt和file2.txt本身就是磁盘文件,完全没必要绕弯子,直接执行:
code --diff file1.txt file2.txt
内容的提问来源于stack exchange,提问作者Leandro
相关产品推荐
相关产品推荐

