Как отключить автосдвиг текста модуля и прыжки курсора при наборе кода в 1С?

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

При работе в конфигураторе 1С:Предприятие многие разработчики сталкиваются с ситуациями, которые не просто отвлекают, но и начинают серьезно раздражать в процессе написания кода. Одной из таких проблем, обсуждаемых в профессиональном сообществе, является некорректное поведение редактора модулей. Представьте ситуацию: вы набираете код, используете контекстную подсказку (Ctrl+Space) или просто нажимаете клавишу ввода, и в этот момент текст модуля самопроизвольно сдвигается, а курсор «уезжает» в центр экрана или прыгает на несколько строк. Такое «дерганье» экрана сильно мешает концентрации.

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

Симптомы проблемы и диагностика

Давайте сначала убедимся, что мы говорим об одной и той же проблеме. Ситуация выглядит следующим образом:

  1. Вы открываете модуль (общий модуль, модуль формы или объекта).
  2. Начинаете набирать текст процедуры или функции.
  3. В момент появления выпадающего списка автоподсказки (IntelliSense) или при выборе пункта из этого меню происходит резкий сдвиг видимой области текста.
  4. Иногда курсор, который находился внизу экрана, внезапно центрируется, сбивая визуальный фокус.

В ходе обсуждения участники сообщества выдвигали различные теории. Одной из популярных версий была некорректная работа драйвера мыши или колеса прокрутки. Предполагалось, что драйвер мыши конфликтует с выпадающим меню 1С. Однако, как показала практика и тесты (включая проверку в «Блокноте» и отключение мыши), аппаратная часть здесь ни при чем. Проблема кроется глубже — в самой платформе 1С:Предприятие.

Причина 1: Ошибка конкретных релизов платформы

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

Опытным путем было установлено, что проблема массово проявляется на платформе версии 8.3.21. В частности, упоминаются релизы:

Ошибка связана с механизмом отрисовки текстового редактора в конфигураторе. При расчете позиции курсора и отображении контекстного меню платформа некорректно вычисляет координаты, пытаясь «улучшить» обзор для пользователя и центрировать строку ввода, но делает это слишком агрессивно и неуместно.

Решение: Обновление платформы

Самым надежным и правильным способом устранения неисправности является обновление технологической платформы.

Мы рекомендуем выполнить следующие действия:

  1. Проверьте вашу текущую версию платформы. Для этого в режиме Конфигуратора зайдите в меню Справка — О программе.
  2. Если вы видите, что используете версию ветки 8.3.21, запланируйте обновление.
  3. Установите более свежий релиз, например, из ветки 8.3.22 или актуальные версии 8.3.23. В этих версиях разработчики платформы исправили ошибку позиционирования курсора в редакторе модулей.

Причина 2: Масштабирование экрана (High DPI) и перенос строк

Если обновление платформы по каким-то причинам невозможно (например, корпоративные стандарты жестко фиксируют версию), нам необходимо рассмотреть обходные пути. Часто проблема «прыжков» экрана усугубляется на мониторах с высоким разрешением, где в настройках Windows установлен масштаб интерфейса отличный от 100% (например, 125% или 150%).

В сочетании с включенной опцией переноса строк в конфигураторе, это вызывает ошибки в расчете высоты строк редактором 1С.

Решение: Отключение переноса по словам

Давайте попробуем изменить настройки редактора, которые часто помогают стабилизировать поведение экрана без переустановки платформы.

  1. Откройте Конфигуратор.
  2. Перейдите в меню Сервис и выберите пункт Параметры.
  3. В открывшемся окне найдите вкладку Модули.
  4. Перейдите на подвкладку Редактирование.
  5. Найдите опцию Перенос по словам (или аналогичную, отвечающую за word wrap).
  6. Снимите галочку с этого пункта.
  7. Нажмите «ОК» для сохранения настроек.

Отключение переноса строк заставляет редактор считать координаты более линейно, что часто устраняет эффект дерганья при появлении автоподсказки.

Решение: Настройка совместимости DPI

Еще один метод, который мы можем применить, касается настроек запуска исполняемого файла 1С. Это поможет, если проблема вызвана некорректной работой старого релиза платформы с масштабированием Windows.

Рассмотрим пошагово, как это сделать:

  1. Найдите ярлык запуска 1С или сам исполняемый файл 1cv8.exe (обычно он находится в папке C:\Program Files\1cv8\VER.SI.ON\bin\).
  2. Нажмите правой кнопкой мыши и выберите Свойства.
  3. Перейдите на вкладку Совместимость.
  4. Нажмите кнопку Изменить параметры высокого DPI.
  5. Поставьте галочку в пункте Переопределите режим масштабирования высокого разрешения.
  6. В выпадающем списке «Масштабирование выполняется:» выберите Приложение (или «Система (Расширенная)»).
  7. Примените настройки и перезапустите Конфигуратор.

Резюме

Проблема автосдвига модуля при наборе текста не является аппаратной проблемой вашей мыши или клавиатуры. Это подтвержденный дефект платформы 1С:Предприятие ветки 8.3.21, который проявляется при работе с контекстной подсказкой.

Для окончательного решения проблемы мы рекомендуем:

  1. Обновить платформу до версии 8.3.22 и выше — это гарантированное решение.
  2. В качестве временной меры отключить перенос по словам в настройках модулей.
  3. Настроить параметры DPI в свойствах ярлыка, если обновление невозможно.

Надеемся, эти рекомендации помогут вам вернуть комфорт в работе с кодом!

← На главную