Табуляция Scintilla

Я хочу использовать пробелы вместо вкладок. Я нашел этот сообщение 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 в редакторе свойств во время разработки, и теперь он работает правильно.

Вывод: существует некоторое несоответствие между поведением редактора при установке свойств во время разработки и во время выполнения.


person Welton v3.60    schedule 11.02.2014    source источник