You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Start-Transcript仅记录Windows VS Code终端输入及替代方案

实现VS Code终端仅记录输入内容的解决方案

一、调整Start-Transcript命令的配置方法

Start-Transcript默认会同步记录终端的输入和输出内容,你可以根据你使用的PowerShell版本选择对应配置实现仅记录输入:

  • 如果你使用PowerShell 7.3及以上版本(VS Code终端可自行指定PowerShell版本),可直接在启动记录时添加-IncludeOnly Input参数,命令示例如下:
    Start-Transcript -Path "C:\自定义日志路径\terminal_input.log" -IncludeOnly Input
    
  • 如果你使用Windows自带的PowerShell 5.x版本,没有上述专属参数,可在生成完整转录日志后,通过过滤提取输入内容,过滤命令示例:
    Get-Content "原始转录日志路径.log" | Where-Object { $_ -match '^PS .*> ' } | Set-Content "仅输入日志.log"
    

二、更优的VS Code专属实现方案

相比修改Start-Transcript的配置,以下方案适配性更强,不需要手动启停记录:

  • 方案1:启用VS Code内置终端输入历史持久化
    打开VS Code设置,搜索terminal.integrated.shellIntegration.history,勾选启用后,VS Code会自动单独持久化存储所有终端输入的命令,你可以通过命令面板(快捷键Ctrl+Shift+P)搜索「终端:显示所有历史记录」查看所有输入,也可以在设置中自定义历史存储的条数上限。
  • 方案2:通过PowerShell配置文件自动永久记录输入
    在VS Code终端中输入notepad $PROFILE打开PowerShell配置文件,添加如下内容后保存,重启终端即可自动记录所有输入到指定日志文件,不会包含输出:
    # 配置自定义日志存储路径
    $InputLogPath = "C:\自定义日志路径\powershell_input_history.log"
    Register-EngineEvent -SourceIdentifier PowerShell.OnIdle -Action {
        $latestInput = Get-History -Count 1
        if ($latestInput) {
            "[$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')] $($latestInput.CommandLine)" | Out-File -FilePath $InputLogPath -Append
        }
    }
    
  • 方案3:使用VS Code第三方扩展
    安装支持终端历史记录的本地扩展(如Terminal History),这类扩展默认仅记录终端输入内容,支持搜索、分类、导出,不需要额外修改系统配置。

内容的提问来源于stack exchange,提问作者Bijita Kc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:45:08