Использование расширения emacs в Visual Studio 2010 отключает автоматический отступ - PullRequest
2 голосов
/ 08 сентября 2010

Я недавно установил Visual Studio 2010 для моего курса C ++ в школе.Я очень привык использовать схему Emacs в NetBeans и Eclipse, это жестко запрограммировано в моем мозгу, горячие клавиши.

К моему разочарованию, после установки схемы emacs (расширения) для Visual Studio 2010, а также включения раскладки клавиатуры через инструменты -> опции -> клавиатура, автоматический отступ перестает работать, и это сводит меня с ума,

Я спросил своего учителя, он понятия не имел, так как он даже не использует emacs.Я проверил, что авто отступ действительно включен с помощью инструментов -> Параметры -> Текстовый редактор -> Все языки -> Вкладки.Здесь я настроил «Отступ» слишком умно, и в основном просто настроил его.Хорошо, я нажимаю окей, ничего не происходит, и когда я проверяю это снова, он был отключен.Он не сохранит изменения, которые кажутся, или emacs вернет их к значениям по умолчанию.Таким образом, в основном, когда я пытаюсь включить автоматический отступ через «Все языки», он сбрасывается обратно после нажатия okey.

Однако, если я проверю инструменты -> Параметры -> Текстовый редактор -> C / C ++ (вместо всех языков, как указано выше), отступ будет установлен на smart, но он не повлияет на редактор, но по-прежнему не работает автоматическиотступ.

Я надеюсь, что кто-нибудь испытал это и мог бы помочь в моей ситуации, был бы очень признателен.Использование клавиш со стрелками для перемещения является для меня болезненным занятием.

Ответы [ 2 ]

3 голосов
/ 09 сентября 2010

Поведение, которое вы описываете, является намеренным. Emacs не выполняет авто-отступ новых строк. Как только вы нажмете ввод, новая строка будет добавлена ​​в буфер, и каретка будет помещена в первый столбец новой строки. Мы автоматически отключаем опцию авто-отступа, чтобы имитировать поведение Emacs.

Обратите внимание, что вы можете нажать табуляцию в пустой строке, чтобы автоматически сделать отступ в строке и автоматически переместить каретку в правильный столбец.

Проблемы, на которые указал Ray, уже исправлены, и копия вашего расширения должна иметь исправление. Я связался с менеджером программы, отвечающим за страницу, чтобы обновить страницу и обновить раздел «Известные проблемы».

Спасибо за попытку расширения! Если у вас возникли проблемы, пожалуйста, не стесняйтесь открывать дефекты на http://connect.microsoft.com/visualstudio

2 голосов
/ 10 сентября 2010

Используйте привязки клавиш CTRL + J вместо Введите .Он связан с

Edit.EmacsBreakLineIndent

Он вставляет новую строку и имеет отступ , что является аналогичным поведением в самом Emacs.

Похоже, что он также поддерживает «умный» отступ путем правильного отступа после фигурных скобок {} (по крайней мере, это так для меня в текстовом редакторе VS C # с установленным ReSharper.)

...