VS Code and Cursor Chat Session Functions
Jumpshell includes analysis utilities for chat history, edit sessions, and workspace storage correlation.
Primary implementation lives under src/pwsh/vscode.
Quick Start
Import-Module .\Jumpshell.psd1 -Force
Get-VSCodeChatSessions -Path . | Select-Object -First 5 Title, MessageCount, LastModified
Get-VSCodeChatEditingSessions -Path . | Select-Object -First 5 SessionId, FileCount, OperationCount
Core Commands
Session discovery
Get-VSCodeChatSessionsGet-VSCodeChatSessionHistory
Editing correlation
Get-VSCodeChatEditingSessionsGet-VSCodeChatEditingFilesGet-VSCodeChatEditingOperationsFind-VSCodeChatEditingSessionByMessage
Search and archive
Search-VsCodeChatCopy-VsCodeChatSessions
Common Object Methods
$session = Get-VSCodeChatSessions -Path . | Select-Object -First 1
$messages = $session.GetMessages()
$editSession = $session.GetEditingSession()
$messages[0].GetFileEdits()
$editSession.GetFiles()
$editSession.GetOperations()
Alias Compatibility
Jumpshell auto-creates -Ai- aliases for many -VSCodeChat- commands.
Examples:
Get-AiEditingSessions-> alias forGet-VSCodeChatEditingSessionsSearch-AiSessions-> alias forSearch-VsCodeChatSearch-Ai-> alias forSearch-VsCodeChat
Typical Workflows
1. Find messages that changed files
$session = Get-VSCodeChatSessions -Path . | Select-Object -First 1
$session.GetMessages() | ForEach-Object {
$edits = $_.GetFileEdits()
if ($edits) {
[PSCustomObject]@{
Request = ($_.Request.Substring(0, [Math]::Min(80, $_.Request.Length)))
FilesChanged = $edits.FileCount
Files = ($edits.FilesModified | ForEach-Object { Split-Path $_ -Leaf }) -join ', '
}
}
}
2. Search across sessions
Search-VsCodeChat -Query "workspaceStorage" -Path .
Search-VsCodeChat -Query "Install-JumpshellMcp" -Path .
Search-VsCodeChat -Query "Get-VSCode.*" -Regex -Path .
3. Archive for analysis
Copy-VsCodeChatSessions -Path . -DestinationPath .\chat-archive
Copy-VsCodeChatSessions -Path . -DestinationPath .\chat-archive -Normalize
Archive output includes:
_manifest.jsonMANIFEST.md- copied
chatSessions/andchatEditingSessions/ - optional normalized datasets from
extract_copilot_chat_context.py
Storage Paths
Actual storage root depends on editor variant/profile.
Pattern:
%APPDATA%\<Editor>\User\workspaceStorage\{hash}\chatSessions\%APPDATA%\<Editor>\User\workspaceStorage\{hash}\chatEditingSessions\
Common <Editor> values:
CodeCode - InsidersCursorVSCodium
Resolve active location through:
Resolve-VscodeProfileGet-VSCodeWorkspaceStorage