LazowskiAnton · Extensions

PackageSmith

Verze balíčků NuGet přímo tam, kde jsou zapsané: nejnovější verze za každým řádkem balíčku, celá historie při najetí myší, aktualizace pomocí Ctrl+. — a zranitelné či zastaralé balíčky označené dřív, než na ně upozorní sestavení.

Zdarma · Visual Studio 2022 a 2026 · 14 jazyků rozhraní · žádná telemetrie

Proč PackageSmith

Stejný soubor projektu bez PackageSmith a s ním: nejnovější verze za řádky balíčků

Zastaralé na první pohled

Nemusíte otevírat okno NuGet, abyste zjistili, co je staré: nejnovější verze stojí za každým balíčkem — zeleně pro patch, žlutě pro minor, oranžově pro major.

Nejdřív bezpečné aktualizace

Známá zranitelnost svítí červeně přímo na řádku, spolu s nejbližší verzí, která ji opravuje; zastaralý balíček uvádí svou náhradu.

Jen vaše zdroje

Verze pocházejí ze zdrojů balíčků ve vašem NuGet.config — nuget.org nebo firemního kanálu. Dotazy se týkají jen názvů a verzí balíčků; nic o vás ani o vašem projektu se neodesílá.

Zdarma a bez háčků

Žádné předplatné, žádná verze „pro“, žádný sběr dat a žádné zprávy v okně „Výstup“ ani při spuštění. Jediné, o co kdy požádáme — až ho nějakou dobu budete používat — je hodnocení na Marketplace. Funguje ve Visual Studiu 2022 a 2026, x64 i ARM64.

Funkce

Verze na konci řádku

Za každým řádkem PackageReference, PackageVersion a package: nic nápadného, když je balíček aktuální, jinak nejnovější verze v barvě kroku. Neuvedené (unlisted) verze se nikdy nenabízejí; předběžné verze jen balíčkům, které už nějakou používají, pokud nastavení neříká jinak.

Soubor Directory.Packages.props s nejnovějšími verzemi, zranitelným a zastaralým balíčkem
Za řádkemVýznam
✓ nejnovějšíBalíček je na nejnovější verzi.
→ 8.0.4 patchMění se jen třetí číslo: opravy.
→ 6.5.1 minorMění se druhé číslo: nové funkce, bez záměrných zásadních změn.
→ 5.0.2 majorMění se první číslo: tady bydlí zásadní změny.
⚠ zranitelnost · vysokáPoužívaná verze má známou zranitelnost; je uvedena její závažnost.
zastaralý · použijte …Autoři označili balíček jako zastaralý a uvádějí ten, který se má použít místo něj.

Karta při najetí myší

Podržte ukazatel na verzi v kódu nebo na textu za řádkem: karta ukáže popis, nejnovější verzi každé novější řady (10.0.13, 9.0.10, 8.0.21 pro balíček na 8.0.0) s datem, kolik dalších novějších verzí existuje, zranitelnost s nejbližší aktualizací bez ní a tlačítka Aktualizovat na …, Otevřít na nuget.org a Web projektu. Kliknutím na libovolnou verzi v seznamu ji nastavíte.

Karta zranitelného balíčku s nejnovější verzí každé řady

Aktualizace pomocí Ctrl+.

Kurzor na řádku balíčku, Ctrl+.: nejnovější patch, nejnovější minor a nejnovější major se nabízejí zvlášť, takže bezpečná aktualizace je vždy na jednu klávesu. Aktualizovat všechny balíčky v tomto souboru v rámci jejich hlavní verze převede každý balíček na jeho nejnovější verzi téže hlavní verze — majory zůstávají samostatným rozhodnutím. Verze z vlastnosti ($(ContosoVersion)) se aktualizuje tam, kde ji soubor definuje. Soubor se upraví jako při ruční změně: Zpět funguje a Visual Studio obnoví balíčky jako obvykle.

Žárovka s aktualizacemi balíčku na patch, minor a major

Nastavení

Nástroje → Možnosti → SmithWorks → PackageSmith. Každá možnost má popis.

MožnostVýchozí
Zobrazovat nejnovější verzi za každým balíčkemzapnuto
Označovat aktuální balíčky popiskem „✓ nejnovější“zapnuto
Nabízet předběžné verze všem balíčkůmvypnuto
Označovat balíčky, které nejsou ve vašich zdrojíchvypnuto
Označovat zranitelné a zastaralé balíčkyzapnuto
Karta při najetí myšízapnuto
Aktualizace pomocí Ctrl+.zapnuto
Interval kontroly1 hodina
Režim offlinevypnuto
Požádat o hodnocení na Marketplacezapnuto

Nastavení se ukládá do %LocalAppData%\PackageSmith, verze v mezipaměti vedle něj.

Stránka možností PackageSmith
Stránka možností.

Časté dotazy

Odesílá PackageSmith nějaká data?

Ptá se vašich zdrojů balíčků (z NuGet.config; bez něj nuget.org) na verze balíčků ve vašich souborech — stejné požadavky, jaké posílá Visual Studio při jejich obnovení. Nic jiného se neodesílá: žádná telemetrie, žádné názvy projektů, nic o vás. Když je zapnutý Režim offline, neodchází vůbec žádný požadavek.

Firemní kanál vyžaduje přihlášení. Funguje to?

Zatím ne: kanály, které vyžadují přihlašovací údaje, se přeskočí a jejich balíčky zůstanou bez označení — nezobrazí se žádná chybná odpověď. Veřejné kanály v3 (nuget.org, otevřené firemní kanály) fungují.

Proč za některými balíčky nic není?

Nic se nevypíše, když je verze rozsah nebo zástupný znak ([1.0,2.0), 13.*), když je vlastnost definovaná v jiném souboru nebo když žádný zdroj neodpověděl. Zapněte Označovat balíčky, které nejsou ve vašich zdrojích, abyste viděli balíčky, o kterých každý zdroj odpověděl, že je nemá.

Funguje s centrální správou balíčků?

Ano: verze se zobrazují v Directory.Packages.props za každým PackageVersion a také u VersionOverride v projektu.

Obnoví aktualizace balíčky?

PackageSmith jen upraví soubor. Visual Studio po změně obnoví balíčky, stejně jako když verzi upravíte ručně.

Funguje spolu s LensSmith?

Ano. Oba píší na konec řádků, takže se o to místo dělí: nejdřív verze, za ní upozornění NuGet z LensSmith.

Kde nahlásit problém nebo navrhnout funkci?

Založte issue v repozitáři Feedback na GitHubu — jsou tam formuláře pro chyby a nápady (neveřejné názvy prosím změňte). Můžete také použít kartu Q&A na Marketplace.

Historie změn

1.0.1

1.0.0