# Продвинутый текстовый редактор

## Vertical multiline select

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

|        Visual Studio (и многие другие)       |            CLion (при выбранном Windows keymap)           |  CLion (при выбранном Visual Studio keymap)  |
| :------------------------------------------: | :-------------------------------------------------------: | :------------------------------------------: |
| **`ALT`** + **`SHIFT`** + **`[MOVE MOUSE]`** | **`CTRL`** + **`ALT`** + **`SHIFT`** + **`[MOVE MOUSE]`** | **`ALT`** + **`SHIFT`** + **`[MOVE MOUSE]`** |

Пример использования представлен ниже

<figure><img src="https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-699c90919947eae64a6a325304445819f3c55660%2Fvs-vertical-multiline-select.gif?alt=media" alt="Example of using vertical multiline select feature in Visual Studio"><figcaption></figcaption></figure>

## Sticky Scroll

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

В Visual Studio 2022 17.5 внедрили Sticky Scroll, который предоставляет непосредственный контекст кода, с которым ведётся работа – отображает вложенные текущие области во время прокрутки в верхней части редактора.

<figure><img src="https://devblogs.microsoft.com/visualstudio/wp-content/uploads/sites/4/2022/12/sticky-scroll-c-scrolling.gif" alt="Example of using Sticky Scroll feature in Visual Studio"><figcaption></figcaption></figure>

Изначально данный режим отключен. В настройках среды разработки можно выбрать отображаемый уровень вложенности.

<figure><img src="https://devblogs.microsoft.com/visualstudio/wp-content/uploads/sites/4/2022/12/sticky-scroll-options.png" alt="Sticky Scroll options in Visual Studio"><figcaption></figcaption></figure>

## Navigate code

### Navigation bar

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

<figure><img src="https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-239b7f11a6ecabd74d37e20eca0d5c95abd571ee%2Fvs-navigation-bar.png?alt=media" alt="Example of using Navigation bar in Visual Studio"><figcaption></figcaption></figure>
