exponenta event banner

Улучшение читаемости кода

Код отступа

Отступы кода делает чтение операторов, таких как while петли легче. Чтобы задать и применить настройки отступа к коду в редакторе и интерактивном редакторе, выполните следующие действия.

  1. На вкладке Главная (Home) в разделе Среда (Environment) щелкните Настройки (Preferences).

    Откроется диалоговое окно Настройки (Preferences).

  2. Выберите MATLAB > Редактор/Отладчик > Язык.

  3. Выберите язык компьютера из выпадающего списка Язык.

  4. В разделе «Отступы» выберите или снимите флажок «Применить смарт-отступы при вводе текста» в зависимости от того, требуется ли применять отступы автоматически при вводе текста.

    Если этот параметр снят, можно вручную применить отступы, выбрав строки в редакторе и интерактивном редакторе для отступа, щелкнув правой кнопкой мыши и выбрав в контекстном меню пункт «Смарт-отступы».

  5. Выполните одно из следующих действий:

    • Если на шаге 2 был выбран язык, отличный от MATLAB, нажмите кнопку ОК.

    • При выборе MATLAB на шаге 2 выберите формат отступа функции и нажмите кнопку ОК. Форматы отступа функции:

      • Classic - Редактор и интерактивный редактор выравнивают код функции с объявлением функции.

      • Indent nested functions - Редактор и интерактивный редактор выполняют отступы кода функции во вложенной функции.

      • Indent all functions - Редактор и интерактивный редактор выполняют отступы кода функции как для основных, так и для вложенных функций.

    На этом рисунке показаны форматы отступов функции.

Примечание

Настройки отступа не поддерживаются для TLC, VHDL или Verilog.

В MATLAB ® Online™ настройки отступов находятся в меню MATLAB > Редактор/Отладчик > MATLAB Язык и MATLAB > Редактор/Отладчик > Другие языки.

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

  • На вкладке Редактор (Editor) или Интерактивный редактор (Live Editor) щелкните значок, или.

  • Нажмите клавишу Tab или клавишу Shift + Tab соответственно.

    Это работает по-другому, если для интеллектуального отступа клавиши Emacs-style Tab выбрать настройку «Редактор/Вкладка отладчика» - при наведении курсора на какую-либо строку или выборе группы строк и нажатии клавиши Tab линии отступают в соответствии с методами интеллектуального отступа.

Индикатор ограничения текста справа

По умолчанию в столбце 75 редактора отображается светло-серая вертикальная линия (правило), указывающая, где длина строки превышает 75 символов. Этот индикатор ограничения текста можно установить в другое значение, что полезно, например, при необходимости просмотра кода в другом текстовом редакторе с другим пределом ширины строки. Индикатор ограничения текста справа не поддерживается в редакторе Live Editor.

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

  1. На вкладке Главная (Home) в разделе Среда (Environment) щелкните Настройки (Preferences).

    Откроется диалоговое окно Настройки (Preferences).

  2. Выберите MATLAB > Редактор/отладчик > Отображение.

  3. Настройте параметры в разделе Ограничение текста справа.

Примечание

Это ограничение является только визуальным сигналом и не препятствует превышению этого ограничения текстом. Чтобы автоматически переносить текст комментария на указанный номер столбца, перейдите на вкладку Главная (Home) и в разделе Среда (Environment) щелкните Настройки (Preferences). Выберите MATLAB > Редактор/отладчик > Язык и измените настройки форматирования комментариев. Чтобы настроить параметры форматирования комментариев в MATLAB Online, выберите «Редактор/Отладчик» > «Язык MATLAB».

Сворачивание кода - разворачивание и свертывание конструкций кода

Сворачивание кода - это возможность расширения и свертывания некоторых конструкций программирования MATLAB. Это улучшает удобочитаемость, когда файл содержит множество функций или других блоков кода, которые необходимо скрыть, когда вы в данный момент не работаете с этой частью файла. Конструкции программирования MATLAB включают в себя:

  • Разделы кода для выполнения и публикации кода

  • Код класса

  • for и parfor блоки

  • Справка по функциям и классам

  • Код функции

Для просмотра всего списка конструкций перейдите на вкладку «Главная» и в разделе «Среда» выберите «Установки ». Затем выберите Редактор/Отладчик > Сворачивание кода.

Чтобы развернуть или свернуть код, щелкните в редакторе знак «плюс» или «минус», который отображается слева от конструкции. Также можно использовать клавиши Ctrl + Shift +. (точка) и Ctrl +. (точка) сочетания клавиш или используйте кнопки сворачивания кода на вкладке Вид.

Чтобы развернуть или свернуть весь код в файле, поместите курсор в любом месте файла, щелкните правой кнопкой мыши и выберите в контекстном меню команду «Сворачивание кода» > «Развернуть все» или «Сворачивание кода» > «Сложить все». Можно также использовать сочетания клавиш Ctrl + Shift +, (запятая) и Ctrl +, (запятая) или кнопки сворачивания кода на вкладке Вид.

Примечание

Гибка кода не поддерживается в интерактивном редакторе

Просмотр свернутого кода во всплывающей подсказке

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

На следующем рисунке показана подсказка, которая появляется при наведении указателя на многоточие в строке 23 lenghtofline.m когда for петлю складывают.

Печать файлов с свернутым кодом

При печати файла с одной или несколькими свернутыми конструкциями эти конструкции развертываются в печатной версии файла.

Поведение сворачивания кода для функций без явного оператора конца

Если для функций включено сворачивание кода, а функция в коде не заканчивается явным end оператор, вы видите следующее поведение:

  • Если строка, содержащая только комментарии, появляется в конце такой функции, то редактор не включает эту строку при сворачивании функции. Это происходит потому, что MATLAB не включает заключительное пустое пространство и комментарии в определение функции, которое не имеет явного end заявление. В MATLAB Online редактор включает строку при сворачивании функции.

    Такое поведение иллюстрирует функция «Сворачивание кода включено только для кода функции». Линия 13 исключена из сгиба для foo функция.

  • Если сворачивание раздела кода перекрывает код функции, то редактор не отображает сворачивание для перекрывающегося раздела.

    Эти три фигуры иллюстрируют это поведение. Первые два рисунка, Code Folding Enabled for Function Code Only и Code Folding Enabled for Sections Only, иллюстрируют, как выглядит сворачивание кода при включении только для кода функции и только для раздела соответственно. Последний рисунок, Code Folding Enabled for Both Functions and Sections (Сворачивание кода включено для обеих функций и разделов), иллюстрирует эффекты, когда сворачивание кода включено для обеих функций. Поскольку складка для секции 3 (строки 11-13) перекрывает складку для функции foo (строки 4-12), редактор не отображает гибку для раздела 3.

Сворачивание кода включено только для кода функции

Сворачивание кода включено только для разделов

Сворачивание кода включено как для функций, так и для разделов

Рефакторинг кода - автоматическое преобразование выбранного кода в функцию

В редакторе Live Editor можно разбить большие сценарии или функции на более мелкие части путем автоматического преобразования выбранных областей кода в функции или локальные функции. Это называется рефакторингом кода.

Чтобы выполнить рефакторинг выбранной области кода:

  1. Выберите одну или несколько строк кода.

  2. На вкладке Интерактивный редактор (Live Editor) в разделе Код (Code) щелкните Рефактор (Refactor) и выберите один из доступных параметров.

  3. Введите имя новой функции. MATLAB создает функцию с выбранным кодом и заменяет исходный код вызовом вновь созданной функции.

Рефакторинг также доступен в редакторе в MATLAB Online. Чтобы выполнить рефакторинг выбранной области кода в диалоговом редакторе MATLAB, на вкладке Редактор (Editor) в разделе Код (Code) нажмите кнопку рефакторинга кода. Затем выберите один из доступных параметров.