打开一个新的VS Code实例,然后按ctrl
+ R
将显示最近打开的几乎所有工作区的列表。
如何从命令行获取此列表?
它们存储在json或文本文件中吗?
答案 0 :(得分:0)
在Windows 10系统上,以下powershell脚本返回按上次访问顺序排序的每个保存的VS Code工作空间文件的路径。相应地更改$WorkSpacesPath
路径变量。
编辑,以反映对vscode core的最新更改以及它如何保存对工作区文件的引用。也许是一种更好的方法,但这足够了。
$WorkSpacesPath = "C:\Users\UserName\AppData\Roaming\Code\User\workspaceStorage"
$ws = (
Get-Item -Path $WorkSpacesPath\*\*.json | `
Foreach-Object {
(Get-Content ($_.FullName) | ConvertFrom-Json).configuration `
-Replace 'file:///|[\s]+', '' `
-Replace '/', '\' `
-Replace '%3a', ':' `
-Replace '%20', ' ' `
}
)
## BEGIN EDIT
$ws += (
(Get-Item -Path $CodeWorkSpaces\*\*.json | `
Foreach-Object {
(Get-Content ($_.FullName) | ConvertFrom-Json).configuration.fsPath `
}
) | `
Where-Object { $_ } | `
Get-Unique -AsString | `
Foreach-Object {
Get-Item -Path $_ -EA SilentlyContinue | `
Select-Object -Property BaseName, FullName, LastAccessTime `
} | `
Sort-Object -Property LastAccessTime `
)
## END EDIT
$ws | `
Where-Object { $_ } | `
Get-Unique -AsString | `
Foreach-Object {
Get-Item -Path $_ -EA SilentlyContinue | `
Select-Object -Property BaseName, FullName, LastAccessTime `
} | `
Sort-Object -Property LastAccessTime
$idx = 0
$ws | Foreach-Object {$_ | Add-Member @{Index = $idx } -Force; $idx++ }
$ws | Select-Object -Property Index, BaseName, LastAccessTime, FullName