2011-02-11 81 views
-3

我需要编写一个像visual studio一样缩进代码块的程序。 我需要这背后的逻辑。 感谢缩进代码算法

我不需要的程序..我所需要的逻辑

+0

缩进取决于编程语言和任何编码风格指南。 – 2011-02-11 13:25:01

+0

就像我说的...我需要的逻辑...我的意思是怎么做的吗? – abbas 2011-02-11 13:25:02

回答

1

scintilla到你的程序,你就大功告成了。

0

您的意思是选择代码块时按“TAB”触发的“增加缩进”功能吗?

这可以使用简单的字符串选项来构建:将代码拆分为换行符char(例如,C#中的Envirnoment.NewLine),然后遍历行并在它们前面添加一些制表符或空格。

1

基本逻辑是找到块。例如,如果你有:

for(int i = 0; i < 10; i++){ 
    print i 
    for(int j = 0; j < 10; j++){ 
     print j 
    } 
} 

通过看{,你会发现一个块将开始。您可以使用堆栈来跟踪块。例如,如果你看到{,推它到堆栈。堆栈中元素的数量表示缩进的大小,因为如果将3 {插入到堆栈中,这意味着您处于第三个嵌套块中,因此您必须使用3个制表符来缩进。现在,如果你看到任何},只需弹出最后{从堆栈中。这意味着你的块完成了。

这将适用于使用{和}的块。您也可以对其他情况使用相同的想法。例如,如果您找到for语法,并且没有{遵循它,这意味着它是循环的单行。