Visual Studio Code extension for browsing NuGet v3 feeds and managing packages used by .NET projects in the current workspace.

NUGET panel in the VS Code panel area..sln or .slnx file..csproj files in the workspace when solution-based loading is disabled.semicDotnet.workspace.* settings, so other Semic .NET extensions can use the same solution/project mode.PackageReference entries from projects.Directory.Packages.props.dotnet nuget list source.All enabled sources.The extension is split into two runtime parts:
src/ contains the VS Code extension host code.webview/ contains the React UI rendered inside the NuGet panel.flowchart LR
User[User in VS Code] --> View[NuGet Webview UI\nwebview/src]
View -->|postMessage| Panel[NugetPanel\nsrc/Panels/NugetPanel.ts]
Panel -->|calls| Service[NugetService\nsrc/Services]
Service -->|reads projects| Workspace[.sln / .slnx / .csproj]
Service -->|calls| Dotnet[dotnet CLI / NuGet v3 feeds]
Panel -->|stateChanged / workspaceLoaded / browsePackagesLoaded| View
Shared[SharedTypes\nsrc/Types/SharedTypes.ts] --- Panel
Shared --- View
In practice:
webview/src/App.tsx and webview/src/Components/* render the interface and keep UI state.src/Panels/NugetPanel.ts is the bridge between the UI and the extension host.src/Services/* contains the workspace scanning, project parsing and NuGet operations.src/Types/SharedTypes.ts defines the message contract shared by both sides.On first run, the extension tries to find the first least-nested .sln or .slnx file in the workspace. If no solution file exists, it falls back to scanning all .csproj files.
After the first run, the selected mode is stored in workspace settings and is reused on later starts.
Shared settings:
{
"semicDotnet.workspace.useAllProjects": false,
"semicDotnet.workspace.discoveryInitialized": true
}
These settings are stored globally. The selected .sln or .slnx path is session-only and is not persisted to settings. After restarting VS Code, the extension discovers the least-nested solution again unless Use all .csproj projects is enabled.
You can change the project loading mode from the extension settings panel under the gear icon:
Use all .csproj projects disables solution-based loading.Solution dropdown lets you choose a .sln or .slnx file for the current VS Code session when solution-based loading is enabled.The extension reads sources from:
dotnet nuget list source
Default source setting:
{
"semicDotnetNuget.source": "__all__"
}
Use __all__ to search all enabled HTTP NuGet v3 sources.
Only HTTP NuGet v3 feeds expose searchable package metadata, README and package details in the Browse/details views. Local/offline sources can still be listed and used by the .NET CLI where supported.
PATHInstall dependencies:
npm install
Run validation:
npm run lint
Build extension host and webview assets:
npm run compile
Package VSIX:
npm run package
Start local development:
npm run compile.F5.Semic NuGet: Open.Semic NuGet: OpenSemic NuGet: Refresh