Используйте инструмент поиска и замены

Откройте инструмент поиска и замены

Чтобы открыть диалоговое окно Поиск и замена:

  1. Откройте график.

  2. На вкладке Modeling выберите Find > Find & Replace in Chart.

Диалоговое окно Поиск и замена содержит следующие поля:

  • Search for

    Введите текст шаблона поиска в Search for текстовое поле. Интерпретацию шаблона поиска можно выбрать с помощью флажка Сопоставить случай и поля Match options (без маркировки и справа от поля Поиск в).

  • Совпадение случая

    Если установлен этот флажок, поиск чувствителен к регистру, и инструмент «Поиск и замена» находит только текст, точно соответствующий шаблону поиска.

  • Replace with

    Укажите текст для замены текста, найденного при выборе любой из кнопок Replace (Replace, Replace all, Replace all in this object). См. «Использование кнопок замены».

  • Сохраните корпус

    Эта опция изменяет текст замены. Для понимания этой опции смотрите Замена на Консервацию корпуса.

  • Поиск в

    По умолчанию инструмент «Поиск и замена» ищет и заменяет текст только в текущем Stateflow® график, которую вы редактируете в редакторе Stateflow. Вы можете выбрать для поиска машины, владеющей текущей диаграммой Stateflow или любой другой загруженной машиной или графиком, обратившись к этому полю выбора.

  • Опции соответствия

    Это поле не маркировано и находится справа от поля Search in. Изменить значение текста поиска можно путем ввода одного из выбираемых опций поиска. См. Раздел «Уточнение поиска».

  • Типы объектов и типы полей

    Под полем Поиск в находятся поля выбора для типов объектов и типов полей. Эти варианты выбора дополнительно уточняют ваш поиск и описаны ниже.

  • Кнопки поиска и Replace

    Они описаны в разделах Использование кнопок поиска и Просмотр области и Использование кнопок замены.

  • Просмотрите область

    В нижней половине диалогового окна «Поиск и замена» отображается результат поиска. Эта область описывается в разделе Разбивка области просмотра.

Уточнить поиск

Введите текст шаблона поиска в Search for текстовое поле. Для дальнейшего уточнения значения введенного текста можно использовать одну из следующих настроек.

Совпадение случая

Выбрав опцию Сопоставить регистр, можно включить поиск с учетом регистра. В этом случае инструмент «Поиск и замена» находит только текст, точно соответствующий шаблону поиска.

Очистив опцию обращения Match, можно включить поиск без учета регистра. В этом случае символы шаблона поиска, введенные в нижнем или верхнем регистре, находят соответствующий текст с той же последовательностью базовых символов в нижнем или верхнем регистре. Например, запись поиска "AnDrEw" находит соответствующий текст "andrew" или "Andrew" или "ANDREW".

Сохраните корпус

Эта опция изменяет текст замены, а не текст поиска. Для получения дополнительной информации смотрите Замена на Консервацию Корпуса.

Содержит слово

Выберите эту опцию, чтобы указать, что текст шаблона поиска является выражением всего слова, используемым в диаграмме Stateflow без конкретных начальных и конечных разделителей. Другими словами, найдите указанный текст в любой настройке.

Предположим, что у вас есть состояние с этой меткой и действием входа:

throt_fail
entry: fail_state[THROT] = 1;

Поиск текстовых fail с опцией Contains word находит два вхождения fail.

Соответствовать целому слову

Выберите эту опцию, чтобы указать, что шаблон поиска в поле Search for является выражением всего слова, используемым в диаграмме Stateflow с начальными и конечными разделителями, состоящими из пустого пространства или символа, который не является алфавитно-цифровым и не является символом подчеркивания (_).

В предыдущем примере состояния с именем throt_fail, если выбран параметр «Соответствовать целому слову», поиск fail не находит текста в этом состоянии. Однако поиск "fail_state" находит ли текст "fail_state" как часть второй линии, поскольку она разграничена пространством в начале и левой квадратной скобкой ([) в конце.

Регулярное выражение

Установите в поле Опции соответствия значение Регулярное выражение для поиска текста, который варьируется от символа к символу в определенных пределах.

Регулярное выражение представляет собой текст, состоящий из букв, цифр и специальных символов, определяющих одного или нескольких кандидатов. Некоторые символы имеют особый смысл при использовании в регулярном выражении, в то время как другие символы интерпретируются как сами по себе. Любой другой символ, появляющийся в регулярном выражении, является обыкновенным, кроме обратной косой черты (\) символ предшествует ему.

Если в поле опции задано Регулярное выражение в предыдущем примере состояния с именем throt_fail, поиск "fail_" соответствует "fail_" текст, который является частью второй линии, символ для символов. Поиск с регулярным выражением "\w*_" также находит текст "fail_". Этот поиск использует регулярное выражение shorthand "\w" который представляет любую часть слова символа, звездочку (*), который представляет любое количество любых символов и символ подчеркивания (_), который представляет себя.

Список регулярных выражений meta символов см. в разделе Регулярные выражения.

Задайте возможности поиска

Вы задаете возможности поиска путем выбора из областей поля, обсуждаемых в следующих разделах.

Поиск в

Можно выбрать целую машину или отдельный график для поиска в поле Поиск в. По умолчанию выбирается текущий график, на которой вы открыли инструмент поиска и замены.

Чтобы выбрать машину, выполните следующие действия:

  1. Выберите стрелу вниз поля Search in.

    Появится список загруженных машин с развернутой текущей машиной, чтобы отобразить диаграммы Stateflow.

  2. Выберите машину.

Чтобы выбрать диаграмму Stateflow для поиска, выполните следующие шаги:

  1. Снова выберите стрелу вниз поля Search in.

    Этот список содержит ранее выбранную машину, развернутую для отображения диаграмм Stateflow.

  2. Выберите график на развернутом компьютере.

Типы объектов

Ограничьте поиск, отменив выбор одного или нескольких типов объектов.

Примечание

Вы не можете искать в таблицах переходов состояний с этим инструментом.

Типы полей

Ограничьте поиск, отменив выбор одного или нескольких типов полей.

Ниже перечислены доступные типы полей.

Имена.  Машины, графики, данные и события имеют допустимые поля Имя. Состояния имеют Имя, заданное как верхняя линия их меток. Вы можете искать и заменять текст, принадлежащий полю Name состояния в этом смысле. Однако, если инструмент «Поиск и замена» находит соответствующий текст в поле «Имя» состояния, остальная часть метки подлежит последнему поиску, независимо от того, выбрана ли метка в качестве цели поиска.

Примечание

Поле Имя машин и графиков является недопустимым объектом для инструмента поиска и замены. Используйте Simulink® окна модели для изменения имен машин и графиков.

Метки.  Только состояния и переходы имеют метки.

Описания.  Все объекты имеют поля Описание с возможностью поиска.

Ссылки на документы.  Все объекты имеют поля Link с возможностью поиска.

Используйте кнопку поиска и область просмотра

Этот раздел содержит следующие подтемы:

Щелкните Search, чтобы начать операцию одиночного поиска. Если выполняется соответствие объекта, его текстовые поля появляются на панели Viewer в середине диалогового окна Поиск и замена. Если объект является графическим (состояние, переход, соединение, график), соответствующий объект появляется на Portal панели под панелью Viewer.

Разбивка по видовой области

Область просмотра диалогового окна Поиск и замена (Search & Replace) отображает соответствующий текст и содержащий его объект, если его можно просматривать. В предыдущем примере, взятом из sf_pool модель, поиск слова "friction" находит поле Description для состояния TotalDynamics. Получившаяся область просмотра состоит из следующих частей:

Значок.  Отображает значок, соответствующий объекту, содержащему соответствующий текст. Эти значки идентичны значкам в Model Explorer, которые представляют объекты Stateflow, отображаемые в Виде объектов Stateflow в Model Explorer.

Полное имя пути содержащего объекта.  В этой области отображается полное имя пути для объекта, который содержит соответствующий текст:

(<type>) <machine name>/<subsystem>/<chart 
name>.[p1]...[pn].<object name> (<id>)

где pС 1 по pn обозначает родительские состояния объекта.

Средство просмотра.  В этой области соответствующий текст отображается как подсвеченная часть всех текстовых полей, отвечающих требованиям поиска, для объекта. Если в этих полях существуют другие вхождения, они тоже подсвечиваются, но более светлыми оттенками.

Чтобы вызвать диалоговое окно свойств для объекта, дважды щелкните в любом месте панели Viewer.

Портал.  Эта область содержит графическое отображение объекта, содержащего соответствующий текст. Этот объект появляется подсвеченным.

Чтобы отобразить выделенный объект в редакторе Stateflow, дважды щелкните в любом месте панели Portal.

Порядок поиска

Если вы задаете целую машину в качестве возможностей поиска в поле Search in, инструмент поиска и замены начинает поиск в начале первого графика модели, независимо от диаграммы Stateflow, которая появляется в редакторе Stateflow, когда вы начинаете поиск. После поиска первого графика инструмент «Поиск и замена» продолжает поиск каждого графика в порядке модели, пока не будут найдены все графики для модели.

Если вы задаете диаграмму Stateflow в качестве возможностей поиска, инструмент «Поиск и замена» начинает поиск в начале графика. Инструмент «Поиск и замена» продолжает поиск на графике до тех пор, пока не будут найдены все объекты диаграммы.

Порядок поиска при поиске отдельного графика для соответствия текста эквивалентен первому поиску по глубине в Model Explorer. Начиная с самого высокого уровня графика, иерархия Model Explorer перемещается вниз от родительского элемента к дочернему, пока не встретится объект без дочернего элемента. На данной точке иерархия идёт вверх через объекты, уже просматриваемые до тех пор, пока не будет найден неотключенный родной брат и процесс не повторится.

Задайте замещаемый текст

Инструмент «Поиск и замена» заменяет соответствующий текст точным (с учетом регистра) текстом, введенным в поле Replace With, если вы не выбрали опцию Preserve case.

Замена на консервацию корпуса

Если вы выбираете опцию Preserve case, соответствующий текст заменяется на основе одного из следующих условий:

  • Шепот

    Соответствующий текст имеет только строчные символы. Соответствующий текст полностью заменяется строчным эквивалентом всех заменяемых символов. Для примера, если текст замены "ANDREW", соответствующий текст "bill" заменяется на "andrew".

  • Крик

    Соответствующий текст имеет только заглавные символы. Соответствующий текст полностью заменяется заглавным эквивалентом всех заменяемых символов. Для примера, если текст замены "Andrew", соответствующий текст "BILL" заменяется на "ANDREW".

  • Надлежащий

    Соответствующий текст имеет заглавные символы в первой позиции символов каждого слова. Соответствующий текст полностью заменяется регистром, эквивалентным всем заменяющим символам. Для примера, если текст замены "andrew johnson", соответствующий текст "Bill Monroe" заменяется на "Andrew Johnson".

  • Предложение

    Соответствующий текст имеет верхний регистр в позиции первого символа предложения со всеми другими символами предложения в нижнем регистре. Соответствующий текст заменяется подобным образом, при этом первому символу предложения присваивается заглавный эквивалент, а всем другим символам предложения присваивается строчный регистр. Для примера, если текст замены "andrew is tall.", соответствующий текст "Bill is tall." заменяется на "Andrew is tall.".

Если соответствующий текст не следует ни одному из этих шаблонов, то замена текста и случая соответствует пользовательскому вводу.

Использование кнопок замены

Активировать кнопки замены (Replace, Replace all, Replace all in this object) можно только после поиска текста.

Заменить

При выборе кнопки Replace текущий образец текста, соответствующий тексту в поле Search for, заменяется текстом, введенным в поле Replace with. Затем инструмент «Поиск и замена» выполняет поиск следующего вхождения Search for текста.

Замените все

При выборе кнопки Replace all все образцы текста, соответствующего полю Search for, заменяются текстом, введенным в поле Replace with. Замена начинается в точке вызова до конца текущей диаграммы Stateflow. Если вы первоначально пропустили некоторые совпадения поиска с помощью кнопки Search, эти совпадения также пропускаются при выборе кнопки Replace all.

Заменить все в этом объекте

При выборе кнопки Replace all in this object все образцы текста, соответствующего полю Search for, заменяются текстом, введенным в поле Replace with везде в текущем объекте Stateflow независимо от предыдущих поисков.

Поиск и замена сообщений

Информационные и предупреждающие сообщения появляются в поле Full Path Name Supporting Object вместе со значком определения.

- Информационные сообщения

- Предупреждения

Следующие сообщения являются информационными:

Укажите строку поиска

Была предпринята попытка поиска без заданного текста поиска.

Совпадений не найдено

В выбранных возможностях поиска совпадений не существует.

Поиск завершен

В выбранных возможностях поиска больше нет совпадений.

Следующие предупреждения относятся к недопустимым условиям поиска или замены:

Недопустимый набор опций

Выбранные типы объектов и типы полей несовместимы.

Объект Match недоступен для редактирования

Соответствующий объект не может быть изменен заменой из-за одной из этих проблем.

Проблема

Решение

Выполняется симуляция.

Остановите симуляцию.

Вы редактируете заблокированный библиотечный блок.

Разблокируйте библиотеку.

Текущий объект или его родительский элемент был заблокирован вручную.

Разблокируйте объект или его родительский элемент.

Следующие предупреждения появляются, если инструмент поиска и замены должен снова найти объект и соответствующее ему текстовое поле. Если исходный соответствующий объект был удален или изменен перед последующим поиском или заменой, инструмент поиска и замены не может продолжить.

Объект поиска не найден

Если вы ищете текст, находите его, а затем удаляете содержащий его объект, это предупреждение появляется, если вы продолжаете поиск.

Объект соответствия не найден

Если вы ищете текст, находите его, а затем удаляете содержащий его объект, это предупреждение появляется при выполнении замены.

Совпадение не найдено

Если вы ищете текст, находите его, а затем изменяете объект, содержащий текст, это предупреждение появляется при выполнении замены.

Изменена строка поиска

Если вы ищете текст, находите его, а затем меняете Search for поле, это предупреждение появляется при выполнении замены.