Интернационализация приложений нередко усложняет жизнь .NET-разработчиков, поскольку подразумевает трудоемкий процесс переноса строк в файлы ресурсов и поддержку наборов ресурсов во разных культурах.
ReSharper значительно упрощает работу над многоязычными приложениями благодаря поддержке файлов .resx и использования ресурсов в коде на C#, VB.NET, ASP.NET и XAML. Безопасные рефакторинги, удобная навигация, инспекции кода и быстрые исправления помогут сэкономить время при локализации.
ReSharper находит строки, которые можно локализовать, подсвечивает их и помогает перенести в файл ресурсов.
В зависимости от настроек проекта, ReSharper может подсвечивать все жестко закодированные строковые литералы или только те, которые явно помечены как Localizable (true)
.
Когда ReSharper находит локализуемую строку, он помогает как можно быстрее перенести ее в файл ресурсов. Дополнительно можно выполнить поиск идентичных строк и применить рефакторинг, чтобы вместо них использовался новый элемент ресурса.
Строки, которые можно перенести в файл ресурсов, могут подчеркиваться или не подчеркиваться в зависимости от настроек проекта. Если строка не выделена фигурным подчеркиванием, нажмите Ctrl+Shift+R и выберите рефакторинг Move to Resource. Если же строка подчеркнута, как на скриншоте слева, вы можете нажать Alt+Enter и применить рефакторинг из списка быстрых исправлений.
В дополнение к строкам, используемым в коде C# и VB.NET, ReSharper может обрабатывать строки из файлов разметки в веб-приложениях и произвольные строки HTML.
Помимо переноса строк в файлы ресурсов в ReSharper можно совершать и другие действия с помощью рефакторингов:
name
в ресурсе. Подробнее о других автоматизированных преобразованиях в ReSharper читайте в разделе «Рефакторинги».
В ReSharper предусмотрены несколько инспекций кода, которые помогают выявить типичные проблемы с использованием ресурсов.
В частности, ReSharper предупредит о том, что какое-то значение ресурса не переопределяется в конкретной культуре или переопределяется тем же именем, которое используется в файле ресурсов, не зависящем от культуры. ReSharper уведомляет о дублирующихся именах ресурсов в пределах одного ресурсного файла и даже может обнаруживать отсутствующие или избыточные подстановки в форматирующих строках в значениях ресурсов.
При обнаружении подобных проблем, ReSharper подсветит их в редакторе. Кроме того, с помощью функции Find Code Issues вы можете просмотреть все проблемы в файлах ресурсов и перейти к ним.
И конечно, в ReSharper есть быстрые исправления для немедленного решения всех этих проблем.
Функция Find Usages без проблем работает с ресурсами. ReSharper помогает находить вхождения ресурса как из кода, так и из файлов ресурса.
Действия Go to Derived Symbols и Go to Base позволяют переходить от элементов ресурсов в культурно-нейтральном файле ресурсов к соответствующим элементам в ресурсных файлах для определенных культур и наоборот.
Для просмотра структуры файла ресурсов в ReSharper предусмотрен специальный вариант окна File Structure. В нем перечислены все ресурсы в файле, отображаются идентификаторы ресурсов, текст ресурса в текущей культуре и комментарии. Кроме того, в этом окне инструмента указывается, переопределяются ли элементы ресурсов для других культур, и содержат ли они подстановки форматирования.
Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.