Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 闪烁止动器_C#_Scintilla - Fatal编程技术网

C# 闪烁止动器

C# 闪烁止动器,c#,scintilla,C#,Scintilla,我想用空格代替制表符。我发现这似乎解决了这个问题。我使用了公认的答案,但我仍然有一个问题。如果我在以非空格开头的行的开头按tab键,则tab键可以正常工作。但是,如果我单击IndentWidth上方行上的任意位置并按tab键,它最多可标记8个空格 例如 我的IndentWidth是2。我的文本是ABCDEFGHI。我用句点来表示空间 如果我单击A前面并点击选项卡,我的文本将变成。ABCDEFGHI(这是正确的) 如果我在B前面单击并点击选项卡,我的文本将变成A.BCDEFGHI(这是正确的) 如

我想用空格代替制表符。我发现这似乎解决了这个问题。我使用了公认的答案,但我仍然有一个问题。如果我在以非空格开头的行的开头按tab键,则tab键可以正常工作。但是,如果我单击
IndentWidth
上方行上的任意位置并按tab键,它最多可标记8个空格

例如

我的
IndentWidth
是2。我的文本是
ABCDEFGHI
。我用句点来表示空间

如果我单击
A
前面并点击选项卡,我的文本将变成
。ABCDEFGHI
(这是正确的)

如果我在
B
前面单击并点击选项卡,我的文本将变成
A.BCDEFGHI
(这是正确的)

如果我在
C
前面单击并点击选项卡,我的文本将变成
AB……CDEFGHI
(这是不正确的)

另外,如果光标位于行的前导空格中的任何位置,当我按tab键时,光标移动到第一个非空格字符,然后从那里开始制表符

例如

我的
IndentWidth
是2。我的文本是
…WXYZ
。我用句点来表示空间

如果我单击前四个空格中的任意位置并点击tab,光标将移动到
W
,然后我的文本将变成
…WXYZ
。(这是不正确的)

更新

我忽略了提到我在代码中专门设置了缩进属性,如下所示:

scintilla.Indentation.ShowGuides = true;
scintilla.Indentation.IndentWidth = 2;
scintilla.Indentation.TabIndents = true;
scintilla.Indentation.UseTabs = false;
我刚刚在设计时在属性编辑器中将
IndentWidth
设置为2,现在它似乎工作正常

结论:在设计时设置属性与运行时设置属性时,编辑器的行为方式存在一些脱节