KDevelop 4.2.2 с подсветкой синтаксиса вопросов - PullRequest
9 голосов
/ 16 июня 2011

Для разработки на C ++ я использую KDevelop в Ubuntu Natty, у меня есть два вопроса:

1) Он подсвечивает все мои переменные случайными цветами радуги - как я могу это изменить? Я хочу, чтобы все мои переменные были светло-голубыми.

2) Цвет функций всегда фиолетовый, как я могу это изменить?

Буду признателен, если кто-нибудь знает ответ.

Спасибо !!

Ответы [ 3 ]

5 голосов
/ 16 июня 2011

Ответ на оба ваших вопроса прост: на данный момент вы не можете.

Вы можете убедиться, что все переменные выделены одинаковым цветом, но этот цвет будет черным и не может быть изменен.Перейдите к

Настройки -> Настроить KDevelop ... -> Поддержка языков

И убедитесь, что в Semantic Code Highlighting части одновременно Local Colorization Intensity и Global Colorization Intensityустановлены на ноль (т. е. сдвиньте ползунок влево).

Однако зачем вам это?Лично мне очень удобно иметь разные цвета для каждой переменной.Это позволяет очень легко обнаружить все вхождения определенной переменной.

0 голосов
/ 23 октября 2014

Да ... исходный код довольно "плохой" ... есть много жестко закодированных значений без опций для их изменения ... К счастью, это открытый исходный код;)

Я выбежал ста же проблема: я согласен, радужный цвет в некоторой степени повышает читаемость, но лично он отвлекает меня ... Итак, я сделал этот патч для 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) кажется, что текущая версия учитывает цвет синтаксиса kate (не уверен).

в 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
  }
0 голосов
/ 06 августа 2012

Не избавляйтесь от переменных с разными цветами, вы спросите себя, как вы обходились в прошлом без него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...