QDevelop-0.25.2注释功能BUG

来源:互联网 发布:汽车维修结算单软件 编辑:程序博客网 时间:2024/04/29 21:44

    在使用QDevelop的过程中发现,QDevelop代码注释功能有严重的问题,比较在Qt4.4.0中编译会有此严重的问题,而采用4.4.3问题被解决.可见Qt在此处是有问题的,难怪Qt4的designer不能够直接进行代码编辑了,( 看assisant 此处相关的一些类文档也发生了变化,可见代码一直不是非常稳定的)

 

    又由于习惯的问题,我比较喜欢行注释的"//"对齐出现在行首,而不是紧贴代码,因此贴上一段修改后的代码( src/textedit.cpp )

    @ void TextEdit::comment(ActionComment action) 

 

        int flag = 0;
        if ( !text.isEmpty() )
        {          
             QString tmp = text.mid( 0, 2 );
             if ( action == Comment && tmp != "//" ) flag = 1;
             if ( action == Uncomment && tmp == "//" ) flag = -1;
             if ( action == Toggle )
             {
                  if ( tmp == "//" ) flag = -1;
                  else flag = 1;
             }
        }
        if (  1 == flag ) text = "//"+ text;
        if ( -1 == flag ) text = text.mid( 2 );

替换掉原代码(如下)

    if (!text.isEmpty())

    {
         int i = 0;
         while (i < text.length() && text.at(i).isSpace()) i++;
         if (action == Comment )
         {
             if (text.mid(i, 2) != "//")
                 text.insert(i, "//");
         }
         else if (action == Uncomment)
         {
             if (text.mid(i, 2) == "//"
                 text.remove(i, 2);
         }
         else if (action == Toggle)
         {
             if (text.mid(i, 2) == "//")
                 text.remove(i, 2);
             else
                 text.insert(i, "//");
         }
    }

 

PS:

  VM6.0中在Fedora6下死用QDevelop总是时不时有卡机的现象,因此QDevelop实在是太年轻了,希望在下一版中有较好的更新

 

 

2008年11月12日

最近QDevelop-0.26发布了.更新日志上的说法是,主要做的界面上的优化, 使用了下,也的确差不多.实质的改动不大,可以看到的,修正了行注释的BUG,增强了标签的功能等.

不过我还是觉得,当多行被选中,进行连续多行的注释时,应该使行注释符保持统一的缩进,这样注释后的代码看起来更美观一些.

我在qt-3.3.的designer中做了这样的尝试( QDevelop 具体开发时基本不用,问题太多 ),感觉效果挺好的,哈哈

原创粉丝点击