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

Код отступа

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

  1. На вкладке Home, в разделе Environment, нажмите Preferences.

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

  2. Выберите MATLAB > Editor/Debugger > Language.

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

  4. В Indenting разделе выберите или удалите Apply smart indenting while typing, в зависимости от того, нужно ли автоматически наносить отступы, когда вы вводите.

    Если удалить эту опцию, можно вручную применить отступы, выбрав линии в редакторе и Live Editor, чтобы отступить, щелкнув правой кнопкой мыши и выбрав Smart Indent из контекстного меню.

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

    • Если вы выбрали любой язык кроме MATLAB на шаге 2, нажмите OK.

    • Если вы выбрали MATLAB на шаге 2, выберите Function indenting format и нажмите OK. Форматы отступов функций:

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

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

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

    Это изображение иллюстрирует форматы отступов функций.

Примечание

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

В MATLAB® Online™, заказывающие настройки расположены под MATLAB> Editor/Debugger> MATLAB Language и MATLAB> Editor/Debugger> Other Languages.

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

  • На вкладке Editor или Live Editor нажмите, или.

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

    Это работает по-другому, если вы выбираете Editor/Debugger Tab выбор для умного отступа клавиши Emacs-style Tab - когда вы позиционируете курсор в любой строке или выбираете группу линий и нажимаете Tab, линии отступят в соответствии с практиками интеллектуального отступа.

Предел на правую сторону

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

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

  1. На вкладке Home, в разделе Environment, нажмите Preferences.

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

  2. Выберите MATLAB > Editor/Debugger > Display.

  3. Настройте настройки в Right-hand text limit разделе.

Примечание

Этот предел является только визуальной подсказкой и не препятствует превышению предельного значения текста. Чтобы автоматически перенести текст комментария по указанному номеру столбца, перейдите на вкладку Home и в разделе Environment нажмите Preferences. Выберите MATLAB > Editor/Debugger > Language и измените настройки Comment formatting. Чтобы настроить Comment formatting настройки в MATLAB Online, выберите Editor/Debugger > MATLAB Language.

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

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

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

  • Код класса

  • for и parfor блоки

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

  • Код функции

Чтобы увидеть весь список конструкций, перейдите на вкладку Home, а в Environment разделе нажмите Preferences. Затем выберите Editor/Debugger > Code Folding.

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

Чтобы развернуть или свернуть весь код в файле, поместите курсор в любое место файла, щелкните правой кнопкой мыши и выберите Code Folding > Expand All или Code Folding > Fold All из контекстного меню. Можно также использовать Ctrl+Shift+, (comma) и Ctrl+, (comma) горячих клавиш или кнопки гибки кода на вкладке View.

Примечание

Свертка кода не поддерживается в Live Editor

Просмотр свернутого кода в подсказке

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

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

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

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

Поведение сворачивания кода для функций, у которых нет явного оператора End

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

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

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

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

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

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

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

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

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

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

Чтобы рефакторить выбранную область кода:

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

  2. На вкладке Live Editor, в разделе Code , нажмите Refactor и выберите из доступных опций.

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

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