2011-06-15 73 views
9

对于我的C++开发,我在Ubuntu上运行纳蒂KDevelop的,我有两个问题:的KDevelop 4.2.2语法高亮问题

1)它强调了我在随机彩虹色的所有变量 - 我怎样才能改变这种状况?我希望我所有的变量都是浅蓝色。

2)函数color始终是紫色的,我该如何改变它?

如果有人知道答案,我将不胜感激。

谢谢!

+0

人实际使用KDevelop的,我不知道。这是如何为你制定的? – Arlen 2011-06-16 01:12:48

+1

我在尝试了许多其他PHP开发替代方案后正在评估切换到KDevelop。我厌倦了Eclipse,Netbeans和其他所有基于Java的软件,其速度慢得像地狱一样复杂,像地球上其他软件一样复杂......这非常好。只有showstopper是你不能调试PHP项目... – Palantir 2012-05-19 08:49:11

回答

5

对这两个问题的答案很简单:目前你不能。

您可以确保所有变量都以相同的颜色突出显示,但是这种颜色将会变黑并且无法更改。转到

设置 - >配置KDevelop的... - >语言支持

,并确保在Semantic Code Highlighting部分都Local Colorization IntensityGlobal Colorization Intensity被设置为0(即滑块向左滑动)。

但是,您为什么要这样做?就个人而言,我发现每个变量都有不同的颜色非常方便。它可以让你很容易地发现特定变量的所有事件。

+0

默认设置给了我一些头痛:)滑动这些游标只是一点左,痛苦消失了。感谢分享这个,从来没有想过... – Palantir 2012-05-19 08:50:54

+0

甚至设置为0,变量不是黑色的:/很奇怪这样的功能不能被禁用OO – 2014-10-23 16:24:05

-1

不要摆脱不同颜色的变量,你会问自己如何在没有它的情况下做过。

+6

为了将来的参考,只有回答一个问题,如果你真的计划在回答手头的问题。如果你想分享你的意见去聊天。 – 2013-01-28 22:21:12

0

是啊...这个源代码是非常“差” ......也有不带选项许多硬编码值改变他们......幸运的是,它是开源的;)

我跑了出来的同样的问题:我同意,在某些方面,彩虹色增加可读性,但就个人而言,它分散了我。所以我没这个补丁kdevplatform:

diff -aur -x '*.user' -x CMakeFiles kdevplatform-1.7.0-o/language/highlighting/colorcache.cpp kdevplatform-1.7.0-n/language/highlighting/colorcache.cpp 
    --- kdevplatform-1.7.0-o/language/highlighting/colorcache.cpp 2014-08-26 19:49:48.000000000 +0000 
    +++ kdevplatform-1.7.0-n/language/highlighting/colorcache.cpp 2014-10-23 19:50:37.667559094 +0000 
    @@ -43,37 +43,38 @@ 

    #define ifDebug(x) 

    -// ######### start interpolation 
    +//// ######### start interpolation 

    -uint totalColorInterpolationStepCount = 6; 
    -uint interpolationWaypoints[] = {0xff0000, 0xff9900, 0x00ff00, 0x00aaff, 0x0000ff, 0xaa00ff}; 
    -//Do less steps when interpolating to/from green: Green is very dominant, and different mixed green tones are hard to distinguish(and always seem green). 
    -uint interpolationLengths[] = {0xff, 0xff, 0xbb, 0xbb, 0xbb, 0xff}; 
    - 
    -uint totalGeneratedColors = 10; 
    - 
    -uint totalColorInterpolationSteps() 
    -{ 
    - uint ret = 0; 
    - for(uint a = 0; a < totalColorInterpolationStepCount; ++a) 
    - ret += interpolationLengths[a]; 
    - return ret; 
    -} 
    - 
    -///Generates a color from the color wheel. @param step Step-number, one of totalColorInterpolationSteps 
    -QColor interpolate(uint step) 
    -{ 
    - uint waypoint = 0; 
    - while(step > interpolationLengths[waypoint]) { 
    - step -= interpolationLengths[waypoint]; 
    - ++waypoint; 
    - } 
    - 
    - uint nextWaypoint = (waypoint + 1) % totalColorInterpolationStepCount; 
    - 
    - return KColorUtils::mix(QColor(interpolationWaypoints[waypoint]), QColor(interpolationWaypoints[nextWaypoint]), 
    -       float(step)/float(interpolationLengths[waypoint])); 
    -} 
    +//uint totalColorInterpolationStepCount = 6; 
    +//uint interpolationWaypoints[] = {0xff0000, 0xff9900, 0x00ff00, 0x00aaff, 0x0000ff, 0xaa00ff}; 
    +////Do less steps when interpolating to/from green: Green is very dominant, and different mixed green tones are hard to distinguish(and always seem green). 
    +//uint interpolationLengths[] = {0xff, 0xff, 0xbb, 0xbb, 0xbb, 0xff}; 
    + 
    +//uint totalGeneratedColors = 10; 
    + 
    +//uint totalColorInterpolationSteps() 
    +//{ 
    +// uint ret = 0; 
    +// for(uint a = 0; a < totalColorInterpolationStepCount; ++a) 
    +// ret += interpolationLengths[a]; 
    +// return ret; 
    +//} 
    + 
    +/////Generates a color from the color wheel. @param step Step-number, one of totalColorInterpolationSteps 
    + 
    +//QColor interpolate(uint step) 
    +//{ 
    +// uint waypoint = 0; 
    +// while(step > interpolationLengths[waypoint]) { 
    +// step -= interpolationLengths[waypoint]; 
    +// ++waypoint; 
    +// } 
    + 
    +// uint nextWaypoint = (waypoint + 1) % totalColorInterpolationStepCount; 
    + 
    +// return KColorUtils::mix(QColor(interpolationWaypoints[waypoint]), QColor(interpolationWaypoints[nextWaypoint]), 
    +//       float(step)/float(interpolationLengths[waypoint])); 
    +//} 

    // ######### end interpolation 
    namespace KDevelop { 
    @@ -144,6 +145,7 @@ 
    m_defaultColors = new CodeHighlightingColors(this); 

    m_colors.clear(); 
    + /* 
    uint step = totalColorInterpolationSteps()/totalGeneratedColors; 
    uint currentPos = m_colorOffset; 
    ifDebug(kDebug() << "text color:" << m_foregroundColor;) 
    @@ -152,6 +154,7 @@ 
    ifDebug(kDebug() << "color" << a << "interpolated from" << currentPos << " < " << totalColorInterpolationSteps() << ":" << (void*) m_colors.last().rgb();) 
    currentPos += step; 
    } 
    + */ 
    m_validColorCount = m_colors.count(); 
    m_colors.append(m_foregroundColor); 
    } 

它消除产生的颜色,使变量现在真的黑色(前景色)。

2)似乎当前版本尊重凯特语法颜色(不确定)。

上的Archlinux我也做这个PKGBUILD:

pkgname=kdevplatform-no-rainbow-highlight 
    _pkgname=kdevplatform without rainbow colors highlighting 
    pkgver=1.7.0 
    _pkgver=4.7.0 
    pkgrel=2 
    pkgdesc="A C/C++ development platform for KDE" 
    arch=('i686' 'x86_64') 
    url="http://www.kdevelop.org/" 
    license=('GPL') 
    provides=('kdevplatform') 
    conflicts=('kdevplatform') 
    depends=('kdelibs' 'subversion' 'qjson') 
    optdepends=("kdesdk-kompare: difference checking") 
    makedepends=('cmake' 'automoc4' 'boost') 
    install="${_pkgname}.install" 
    source=("http://download.kde.org/stable/kdevelop/${_pkgver}/src/${_pkgname}-${pkgver}.tar.xz" 
     "no-rainbow-color.patch" 
) 
    sha1sums=('9fc196e7cb09ab33fd5cfbf5af19aa7c513efdc9' 
      'bed3c7e470a6a5a56bf1611e0effd7b8a8761e33') 

    prepare() { 
    cd ${_pkgname}-${pkgver} 
    patch -p1 -i ${srcdir}/no-rainbow-color.patch 
    cd ${srcdir} 
    mkdir build 
    } 

    build() { 
    cd build 
    cmake ../${_pkgname}-${pkgver} \ 
    -DCMAKE_INSTALL_PREFIX=/usr \ 
    -DCMAKE_SKIP_RPATH=ON \ 
    -DCMAKE_BUILD_TYPE=Release 
    make 
    } 

    package() { 
    cd build 
    make DESTDIR="${pkgdir}" install 
    }