Можно ли автоиндексировать только текущую строку в коде Visual Studio?
В Atom (и многих других редакторах) имеется команда автоотдела, которая позволяет автоподчинить строку, в которой находится курсор. Есть ли эквивалент в коде Visual Studio?
Я знаю, что есть действие форматирования в Visual Studio Code, но из того, что я видел, его можно использовать только для:
- отформатируйте выделение (ctrl-K ctrl-F)
- отформатируйте документ отверстия (ctrl + shift + I)
Я хотел бы иметь возможность форматировать строку, на которой курсор включен, без изменения всего документа и без необходимости выбора.
В принципе, я хотел бы настроить ключ [TAB], чтобы при нажатии [TAB] он автоматически отступал только от линии, в которой находится курсор:
- если в строке ничего не написано, просто поместите курсор в нужное место, чтобы при начале записи код был правильно отступом.
- если в строке уже есть что-то написанное, это позволяет отредактировать строку
Является ли это возможным?
Ответы
Ответ 1
Позвольте мне смиренно предположить, что вы ищете решение не в том месте.
Я бы предложил следующую настройку:
"editor.formatOnType": true,
Вы сосредоточились на "вкладке", выполняющей правильный отступ. Но с этим параметром вам совсем не нужно нажимать клавишу табуляции. Просто введите строку с нормальным возвратом в конце. Код Visual Studio затем будет отступать (и форматировать) эту строку правильно.
Ответ 2
Поэтому я просмотрел исходный код и, похоже, в настоящее время нет настроек, чтобы это произошло. В отрывке много работы
https://github.com/Microsoft/vscode/issues/17868
VSCode использует редактор Monaco под капотом
https://github.com/Microsoft/monaco-editor/issues/612
Текущие конфигурации python расположены в
https://github.com/Microsoft/vscode/tree/master/extensions/python
Я попытался, но понимание того, как все это интегрируется и работает вместе, чтобы исправить одну проблему с отступом, было просто потрясающим. Поэтому я просто хотел бы открыть запрос расширения с помощью VScode и позволить экспертам позвонить и выполнить задание
Ответ 3
Если вы установите расширение emacs-tab, вы можете сделать это:
{
"key": "tab",
"command": "emacs-tab.reindentCurrentLine",
"when": "editorTextFocus"
}
Что, насколько я понимаю, делает именно то, что вы хотите (и не форматирует строку другими способами, например, разрывает ее, если она слишком длинная, и т.д.).