mirror of
https://github.com/microsoft/PowerToys
synced 2025-08-22 10:07:37 +00:00
[PTRun][VsCode] fix no results showing for latest insider build (#17557)
* [PTRun][VsCode] fix no results showing for latest insider build * [PTRun][VsCode] improved sql error handling Co-authored-by: Jacob Carl Deuchert <j.deuchert@narz.net>
This commit is contained in:
parent
2a15a068b8
commit
9a77bcadb2
@ -68,7 +68,26 @@ namespace Community.PowerToys.Run.Plugin.VSCodeWorkspaces.WorkspacesHelper
|
||||
|
||||
if (File.Exists(vscode_storage))
|
||||
{
|
||||
var fileContent = File.ReadAllText(vscode_storage);
|
||||
var storageResults = GetWorkspacesInJson(vscodeInstance, vscode_storage);
|
||||
results.AddRange(storageResults);
|
||||
}
|
||||
|
||||
if (File.Exists(vscode_storage_db))
|
||||
{
|
||||
var storageDbResults = GetWorkspacesInVscdb(vscodeInstance, vscode_storage_db);
|
||||
results.AddRange(storageDbResults);
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
}
|
||||
|
||||
private List<VSCodeWorkspace> GetWorkspacesInJson(VSCodeInstance vscodeInstance, string filePath)
|
||||
{
|
||||
var storageFileResults = new List<VSCodeWorkspace>();
|
||||
|
||||
var fileContent = File.ReadAllText(filePath);
|
||||
|
||||
try
|
||||
{
|
||||
@ -84,7 +103,7 @@ namespace Community.PowerToys.Run.Plugin.VSCodeWorkspaces.WorkspacesHelper
|
||||
var workspace = ParseVSCodeUri(workspaceUri, vscodeInstance);
|
||||
if (workspace != null)
|
||||
{
|
||||
results.Add(workspace);
|
||||
storageFileResults.Add(workspace);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -105,14 +124,28 @@ namespace Community.PowerToys.Run.Plugin.VSCodeWorkspaces.WorkspacesHelper
|
||||
var workspace = ParseVSCodeUri(uri, vscodeInstance, isWorkspaceFile);
|
||||
if (workspace != null)
|
||||
{
|
||||
results.Add(workspace);
|
||||
storageFileResults.Add(workspace);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (File.Exists(vscode_storage_db))
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var sqliteConnection = new SqliteConnection($"Data Source={vscode_storage_db};Mode=ReadOnly;");
|
||||
var message = $"Failed to deserialize {filePath}";
|
||||
Log.Exception(message, ex, GetType());
|
||||
}
|
||||
|
||||
return storageFileResults;
|
||||
}
|
||||
|
||||
private List<VSCodeWorkspace> GetWorkspacesInVscdb(VSCodeInstance vscodeInstance, string filePath)
|
||||
{
|
||||
var dbFileResults = new List<VSCodeWorkspace>();
|
||||
SqliteConnection sqliteConnection = null;
|
||||
try
|
||||
{
|
||||
sqliteConnection = new SqliteConnection($"Data Source={filePath};Mode=ReadOnly;");
|
||||
sqliteConnection.Open();
|
||||
|
||||
if (sqliteConnection.State == System.Data.ConnectionState.Open)
|
||||
@ -144,27 +177,25 @@ namespace Community.PowerToys.Run.Plugin.VSCodeWorkspaces.WorkspacesHelper
|
||||
var workspace = ParseVSCodeUri(uri, vscodeInstance, isWorkspaceFile);
|
||||
if (workspace != null)
|
||||
{
|
||||
results.Add(workspace);
|
||||
dbFileResults.Add(workspace);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sqliteConnection.Close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch (Exception e)
|
||||
{
|
||||
var message = $"Failed to deserialize ${vscode_storage}";
|
||||
Log.Exception(message, ex, GetType());
|
||||
}
|
||||
var message = $"Failed to retrieve workspaces from db: {filePath}";
|
||||
Log.Exception(message, e, GetType());
|
||||
}
|
||||
finally
|
||||
{
|
||||
sqliteConnection?.Close();
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
return dbFileResults;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user