Я хочу использовать пробелы вместо вкладок. Я нашел этот сообщение SO, которое, кажется, решает проблему. Я использовал принятый ответ, но у меня все еще есть проблема. Если я нажму клавишу табуляции в начале строки, которая начинается с пробелов, табуляция работает правильно. Однако, если я щелкну в любом месте строки после IndentWidth
и нажму клавишу табуляции, она переместится на 8 пробелов.
E.g.
Мой IndentWidth
– 2. Мой текст – ABCDEFGHI
. Я использую точки для представления пробелов.
Если я нажму перед A
и нажму вкладку, мой текст станет ..ABCDEFGHI
(это правильно)
Если я нажму перед B
и нажму вкладку, мой текст станет A.BCDEFGHI
(это правильно)
Если я нажму перед C
и нажму вкладку, мой текст станет AB......CDEFGHI
(это НЕ правильно)
Кроме того, если курсор находится где-нибудь в начальных пробелах строки, когда я нажимаю клавишу табуляции, курсор перемещается к первому символу, не являющемуся пробелом, а затем переходит оттуда.
E.g.
Мой IndentWidth
– 2. Мой текст – ....WXYZ
. Я использую точки для представления пробелов.
Если я щелкну в любом месте первых четырех пробелов и нажму Tab, курсор переместится на W
, а затем мой текст станет ........WXYZ
. (это НЕ правильно)
ОБНОВЛЕНИЕ
Я забыл упомянуть, что я специально установил свойства отступа в коде, как показано ниже:
scintilla.Indentation.ShowGuides = true;
scintilla.Indentation.IndentWidth = 2;
scintilla.Indentation.TabIndents = true;
scintilla.Indentation.UseTabs = false;
Я только что попытался установить IndentWidth
на 2 в редакторе свойств во время разработки, и теперь он работает правильно.
Вывод: существует некоторое несоответствие между поведением редактора при установке свойств во время разработки и во время выполнения.