Как отключить вставку последовательностей символов в раскладке Чистова для корректной работы в 1C:EDT

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Разработка в среде 1C:EDT (Enterprise Development Tools) накладывает определенные требования к инструментарию программиста. Одной из часто встречающихся проблем при переходе с классического Конфигуратора на EDT является конфликт популярной раскладки клавиатуры Павла Чистова с горячими клавишами среды Eclipse, на которой базируется EDT. Проблема проявляется в том, что при попытке использовать стандартные сочетания клавиш (например, Ctrl+Alt+D для генерации комментариев) в текст вставляются лишние символы или целые слова, такие как "DOM", "XML" или "HTTP".

В этой статье мы подробно рассмотрим природу этого конфликта, проанализируем технические причины его возникновения и разберем несколько способов решения: от настройки самой среды EDT до модификации файла раскладки.

Почему возникает конфликт: технический анализ

Прежде чем переходить к решениям, выясним причину странного поведения клавиатуры. В операционной системе Windows комбинация клавиш Ctrl + Alt программно обрабатывается как эквивалент нажатия правой клавиши Alt (известной как AltGr). Раскладка Чистова, созданная для ускорения написания кода, использует этот модификатор для вставки часто используемых аббревиатур. Например:

В то же время 1C:EDT наследует множество горячих клавиш от платформы Eclipse. Команда Generate Element Comment (Генерировать комментарий к методу) по умолчанию назначена именно на Ctrl+Alt+D. Когда вы нажимаете это сочетание, операционная система посылает сигнал и о нажатии функциональной комбинации, и о вводе текстовой лигатуры из раскладки. В результате в EDT срабатывает команда создания комментария, но следом (или одновременно) в позицию курсора «прилетает» символ "O" или все слово "DOM", что портит структуру кода.

Способ 1. Переназначение горячих клавиш в 1C:EDT

Если вы не хотите менять привычную раскладку клавиатуры, самым быстрым решением будет изменение настроек самой среды разработки. Рассмотрим, как это сделать в современных версиях EDT.

Проанализируем пошагово процесс изменения привязки клавиш:

  1. Откройте настройки среды через меню Window -> Preferences (в русской версии: Окно -> Настройки).
  2. Перейдите в раздел General -> Keys (Общие -> Клавиши).
  3. В поле поиска (type filter text) введите название команды: Generate Element Comment.
  4. Посмотрите на колонку Binding. Там вы увидите конфликтное сочетание Ctrl+Alt+D.
  5. Выделите эту строку и нажмите кнопку Unbind Command, чтобы полностью удалить привязку, или установите курсор в поле Binding и нажмите новое, безопасное сочетание клавиш (например, Alt+Shift+J).
  6. Нажмите Apply and Close.

Рекомендуем также проверить список конфликтов в нижней части окна настроек. Если в поле Conflicts отображаются другие команды, использующие Ctrl+Alt, их стоит переназначить аналогичным образом, так как раскладка Чистова может содержать и другие лигатуры (HTTP, FTP и т.д.), которые проявятся позже.

Способ 2. Модификация раскладки через MSKLC

Если вы опытный разработчик и хотите полностью «вылечить» раскладку, чтобы она никогда не мешала ни в EDT, ни в других программах, воспользуемся утилитой Microsoft Keyboard Layout Creator (MSKLC). Это официальный инструмент для создания и редактирования раскладок Windows.

Разберем процесс деактивации вставки слов:

  1. Запустите MSKLC и загрузите исходный файл раскладки (обычно это файл с расширением .klc). Если у вас установлен только инсталлятор, попробуйте найти исходники в сети или запросить их у автора (как упоминалось в обсуждении, Павел Чистов выпускал разные версии).
  2. В главном окне программы включите отображение состояний модификаторов. Установите галочку напротив Alt+Ctrl (AltGr).
  3. Теперь на виртуальной клавиатуре вы увидите символы и слова, назначенные на клавиши. Найдите клавишу "D", на которой будет написано "DOM".
  4. Нажмите на эту клавишу правой кнопкой мыши и выберите пункт Properties.
  5. В открывшемся окне вы увидите вкладку Ligatures. Именно здесь прописана последовательность символов.
  6. Удалите текст "DOM" из соответствующего поля. Повторите процедуру для всех остальных клавиш (X — XML, W — WEB, H — HTTP и т.д.).
  7. После очистки всех ненужных последовательностей выберите в меню Project пункт Build DLL and Setup Package.
  8. Программа создаст новую папку с инсталлятором. Удалите старую версию раскладки через панель управления и установите свою обновленную версию.

Этот метод радикален, но он гарантирует, что Ctrl+Alt будет работать только как функциональный модификатор, не пытаясь вводить текст.

Способ 3. Использование альтернативных версий

Как мы видим из обсуждения, сам автор раскладки признал проблему и планировал выпустить версию, «дружественную» к EDT. Посмотрим на альтернативы, которые существуют на текущий момент:

Рекомендации по работе в EDT

Важно понимать, что 1C:EDT гораздо чувствительнее к кодировкам и способам ввода, чем старый Конфигуратор. Использование лигатур (последовательностей символов, вставляемых одним нажатием) может приводить к сбоям в работе механизмов автодополнения (IntelliSense). Если вы планируете плотно работать в EDT, рассмотрите возможность отказа от текстовых вставок в пользу стандартных текстовых шаблонов EDT.

Текстовые шаблоны в EDT настраиваются здесь:

Window -> Preferences -> 1C:Enterprise -> Languages -> V8 -> Templates

Использование встроенных шаблонов гораздо эффективнее, так как они позволяют не только вставлять текст "DOM", но и сразу расставлять курсор в нужное место или добавлять необходимые блоки кода, не конфликтуя с системными настройками клавиатуры.

Таким образом, мы выяснили, что проблема решается либо «сверху» (через настройки EDT), либо «снизу» (через редактирование раскладки). Для большинства пользователей оптимальным будет Способ 1, так как он не требует переустановки системных компонентов и позволяет гибко настроить рабочую среду под свои задачи.

← На главную