{"id":249201,"date":"2024-06-03T09:00:52","date_gmt":"2024-06-03T16:00:52","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=249201"},"modified":"2024-05-29T11:14:17","modified_gmt":"2024-05-29T18:14:17","slug":"introducing-the-revamped-visual-studio-resource-explorer","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/introducing-the-revamped-visual-studio-resource-explorer\/","title":{"rendered":"Introducing the Revamped Visual Studio Resource Explorer"},"content":{"rendered":"<p>With the recent revamp of Visual Studio\u2019s Resource Explorer, developers are in for a treat! We\u2019re thrilled to unveil the reimagined Visual Studio Resource Explorer, and trust us, it\u2019s a game-changer.<\/p>\n<p>Developers who manage resources in Visual Studio will be delighted to learn that we have finally updated our out-of-the-box resource management experience to better accommodate the needs of the modern .NET developer. This update will make it easier and faster for developers to manage resources in their .NET applications. Here\u2019s the lowdown:<\/p>\n<p>&nbsp;<\/p>\n<h4>The Pain Points We Crushed:<\/h4>\n<p>Let\u2019s rewind. The old Resource Editor had its quirks \u2013 no search, no filters, and a data grid that felt like a maze. If you manage sprawling solutions with gazillions of resources, you know the struggle. And don\u2019t get us started on the one-file-at-a-time limitation \u2013 a real buzzkill for multilingual apps. Plus, that window? Not zoom-able. Not theme-friendly. Not cool.<\/p>\n<p>In the new Resource Explorer design, we have tackled these common issues and introduced several new features that will make your resource management workflows in Visual Studio much more productive. As you can see when we compare the two experiences, we\u2019ve bridged the gaps in the old experience and sprinkled in delightful new features to boost your productivity. Get ready for a more modern and convenient resource management journey.<\/p>\n<p>&nbsp;<\/p>\n<h4>Feature Comparison:<\/h4>\n<table style=\"width: 57.3311%; border-style: solid; height: 421px;\" width=\"49.9645%\">\n<tbody>\n<tr>\n<td style=\"width: 302.542px;\">\n<h6><span style=\"font-size: 14pt;\">Feature<\/span><\/h6>\n<\/td>\n<td style=\"width: 82.5625px;\">\n<h6><span style=\"font-size: 14pt;\">NEW Resource Explorer<\/span><\/h6>\n<\/td>\n<td style=\"width: 82.5625px;\">\n<h6><span style=\"font-size: 14pt;\">LEGACY Resource Editor<\/span><\/h6>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Grid View of Resources<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Add\/edit\/delete resources<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Search<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Single view for resources across solution<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Edit multiple resource files at once<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Edit multiple locales at once<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Dark mode and VS theme support<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">string.Format pattern validation<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Warnings and validation of resource data<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Combined view for string and media resources<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 302.542px;\">Datagrid zoom-ability<\/td>\n<td style=\"width: 82.5625px;\">\u2705<\/td>\n<td style=\"width: 82.5625px;\">\u274c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2>What\u2019s new in the update?<\/h2>\n<p>&nbsp;<\/p>\n<h4>Loading multiple files:<\/h4>\n<p>The cornerstone of this update is the ability to\u00a0load multiple files and view all localizations at once\u00a0within the same view. When you open the new Resource Explorer, you\u2019ll find a comprehensive overview of\u00a0all the resources you\u2019ve stored\u00a0alongside\u00a0the locales for each file. You can even configure which locales are visible in the datagrid. This streamlined interface allows you to\u00a0compare translations side by side\u00a0and even\u00a0edit them in place. No more toggling between different screens or hunting for specific files\u2014the new design brings everything together, making localization management a breeze.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view.png\"><img decoding=\"async\" class=\"alignnone wp-image-249207 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view.png\" alt=\"Screenshot of VS showing the updated grid view for the resource explorer with multiple translations loaded\" width=\"2245\" height=\"1150\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view.png 2245w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view-300x154.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view-1024x525.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view-768x393.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view-1536x787.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/grid-view-2048x1049.png 2048w\" sizes=\"(max-width: 2245px) 100vw, 2245px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Search and Filter:<\/h4>\n<p>One of the most highly requested features we are delighted to deliver on is search. Our search isn\u2019t confined to a single file, either. It dances across different .resx files, highlighting every occurrence of your search term. Need that elusive translation string? Found! Want to track down a specific locale? Done! It\u2019s like having a resource detective at your service.<\/p>\n<p>You also have the option of selecting a subset of files to search. Whether it\u2019s specific locales, resource groups, or just a corner of your project, you can ensure your search precision.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/search-gif.gif\"><img decoding=\"async\" class=\"alignnone wp-image-249206 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/search-gif.gif\" alt=\"GIF demonstrating resources search functionality \" width=\"1736\" height=\"1082\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Comments:<\/h4>\n<p>Each translation of a resource now has its\u00a0own comment, all visible at once in the datagrid. Imagine this: You\u2019re working on an app that supports multiple languages, and you stumble upon a quirky phrase that needs tweaking. With individual translation comments, you can provide context, backstory, or even a friendly reminder to your future self.<\/p>\n<p>It&#8217;s also common that the translator isn\u2019t the same person managing the app\u2019s resources. Maybe it\u2019s a third-party service or a colleague from another team. No need to worry about misunderstandings of translation context because comments bridge the gap. The translator can leave notes, explanations, or caveats right alongside the translations. It\u2019s like having a virtual sticky note attached to each string, making collaboration seamless. Keep an eye out for familiar UI &#8211; we\u2019ve borrowed a leaf from the UX playbook of other beloved apps (hello, Excel!). When you explore translations, be on the lookout for the small icon in the corner of each cell.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/comment-ui.png\"><img decoding=\"async\" class=\"alignnone wp-image-249203 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/comment-ui.png\" alt=\"Screenshot of the comment functionality and iconography in the resource manager UI\" width=\"444\" height=\"136\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/comment-ui.png 444w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/comment-ui-300x92.png 300w\" sizes=\"(max-width: 444px) 100vw, 444px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Validation and Warnings:<\/h4>\n<p>The new Resource Explorer now warns you if you are missing translations or have issues with your placeholder values.<\/p>\n<p><strong>Missing Translation warnings<\/strong>: Localization just got smarter. \u00a0If your app supports multiple languages, missing translations can be a headache. Our revamped Resource Explorer now detects those gaps and issues targeted warnings. Whether it\u2019s a label, button, or tooltip, we\u2019ve got your back.<\/p>\n<p><strong>Placeholder Validation<\/strong>: Ever accidentally left a resource field blank or mis-formatted, only to discover it during deployment? Fear not! Our new placeholder validation feature ensures that you never miss a beat. As you create or modify resources, we\u2019ll nudge you to fill in those essential details. No more surprises during runtime \u2013 placeholders keep you on track!<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/missing-translation.png\"><img decoding=\"async\" class=\"alignnone wp-image-249204 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/missing-translation.png\" alt=\"Screenshot of error UI for when a resource is missing a translation.\" width=\"688\" height=\"64\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/missing-translation.png 688w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/missing-translation-300x28.png 300w\" sizes=\"(max-width: 688px) 100vw, 688px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h4>Accessibility and UI changes:<\/h4>\n<p>At Microsoft we understand technology \u2013 that\u2019s why we continue to innovate, create, and design in a way that <a href=\"https:\/\/www.microsoft.com\/en-us\/accessibility\/approach?rtc=1\">gives everyone the ability to achieve more<\/a>. As part of this redesign we have made a handful of accessibility and UI changes that will be appreciated by developers of all abilities.<\/p>\n<p><strong>Accessibility and Assistive Technologies<\/strong>: We\u2019ve fine-tuned every pixel to ensure compatibility with screen readers and assistive technologies. Everyone deserves an inclusive coding experience!<\/p>\n<p><strong>Zoom<\/strong>: No more squinting at the tiny grid view trying to decipher resource details. Our new grid view provides precision at your fingertips with the built-in zoom capabilities \u2013 simply use your mouse wheel or keyboard shortcuts to zoom in and out.<\/p>\n<p><strong>Dark Mode<\/strong>: Say goodbye to eye strain! Our revamped Resource Explorer now boasts a sleek\u00a0dark mode\u00a0that\u2019s easy on the eyes. Whether you\u2019re all-too familiar with late-night coding sessions or you simply prefer a more stylish interface, the dark theme sets the stage for focused productivity. Dive into your resource management tasks with confidence, knowing that your eyes are well taken care of.<\/p>\n<p>&nbsp;<\/p>\n<h3>What this version doesn&#8217;t include:<\/h3>\n<p>This first release of the revamped Resource Explorer does not include CSV import and export functionality, automatic translations, or a way to integrate your own translation engines directly into the designer. For these, and many more advanced features, we recommend <a href=\"https:\/\/github.com\/dotnet\/ResXResourceManager\">ResXResourceManager<\/a>. This Visual Studio extension, created and managed by a key developer community contributor, will always be the best-in-class resource management experience and includes many state of the art features outside of the scope of what we offer out-of-the-box in Visual Studio. If you already use this extension for your resource management in Visual Studio, no need to change anything &#8211; it will still work as usual with the new update.<\/p>\n<p>&nbsp;<\/p>\n<h3>Where to find it:<\/h3>\n<p>The revamped Resource Explorer is now on by default in the 17.11 Preview 2 and later versions of Visual Studio. You can open the designer either by double clicking on your Resources folder in the Solution Explorer, or by navigating to View &gt; Other Windows &gt; Resource Explorer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the recent revamp of Visual Studio\u2019s Resource Explorer, developers are in for a treat! We\u2019re thrilled to unveil the reimagined Visual Studio Resource Explorer, and trust us, it\u2019s a game-changer. Developers who manage resources in Visual Studio will be delighted to learn that we have finally updated our out-of-the-box resource management experience to better [&hellip;]<\/p>\n","protected":false},"author":51892,"featured_media":249207,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6917,6904,155],"tags":[237,354,526,287,147,12,6815],"class_list":["post-249201","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-accessibility","category-installation-and-updates","category-visual-studio","tag-net","tag-announcement","tag-productivity","tag-tips-and-tricks","tag-update","tag-visual-studio","tag-visual-studio-2022"],"acf":[],"blog_post_summary":"<p>With the recent revamp of Visual Studio\u2019s Resource Explorer, developers are in for a treat! We\u2019re thrilled to unveil the reimagined Visual Studio Resource Explorer, and trust us, it\u2019s a game-changer. Developers who manage resources in Visual Studio will be delighted to learn that we have finally updated our out-of-the-box resource management experience to better [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/249201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/51892"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=249201"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/249201\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/249207"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=249201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=249201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=249201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}