Kdevelop5/Manual/Meet KDevelop/ru: Difference between revisions

From KDE Wiki Sandbox
(Created page with "В качестве второго примера педположим, что Вы имеете следующий код:")
(Created page with "Если Вы наведёте курсор мыши на лексему <code>var</code> в функции <code>bar</code>, Вы получите возможность ув...")
Line 58: Line 58:




If you hover the mouse over the symbol <code>var</code> in function <code>bar</code> you get the option to see all uses of this symbol. Clicking on it will only show you the uses of this variable in function <code>bar</code> because '''KDevelop''' understands that the variable <code>var</code> in function <code>foo</code> has nothing to do with it. Similarly, right clicking on the variable name allows you to rename the variable; doing so will only touch the variable in <code>bar</code> but not the one with the same name in <code>foo</code>.
Если Вы наведёте курсор мыши на лексему <code>var</code> в функции <code>bar</code>, Вы получите возможность увидеть все возможности использования этой лексемы. При клике на неё, отобразятся возможности использования этой переменной только в функции <code>bar</code>, т.к. '''KDevelop''' понимает, что переменная функции <code>foo</code> по имени <code>var</code> не имеет ничего общего с переменной с тем же именем из функции <code>bar</code>. Точно так же правый клик на переменной позволит Вам переименовать переменную. Это коснётся только переменной в функции <code>bar</code>, а переменная из функции <code>foo</code> окажется нетронутой, не смотря на одинаковое имя.





Revision as of 07:34, 27 August 2017


Чем является KDevelop?

KDevelop — это современная интегрированная среда разработки (IDE) для C++ (и иных языков программирования) входящая во множество приложений KDE. Она используется в основном для Linux (работает даже если Вы используете другие окружения рабочего стола, например GNOME) доступна и для множества иных вариантов Unix систем, а так же Windows.


KDevelop предлагает все удобства современного IDE. Для больших проектов и приложений самой важной особенностью является то, что KDevelop понимает C++: он анализирует весь исходный код и запоминает какие функции (методы) в каких классах определены, где были определены переменные, какие у них типы и многие другие особенности Вашего исходного кода. Например предположим что один из заголовочных файлов вашего проекта определяет класс:


class Car {
  // ...
  public:
    std::string get_color () const;
};


и далее в Вашей программе Вы написали


Car my_ride;
// ...делаем что-нибудь с этой переменной...
std::string color = my_ride.ge


KDevelop запомнит что my_ride в последней строке является переменной типа Car и предложит завершить ge на get_color(), так как это единственный метод класса Car, который начинается с введённых символов. Вместо набора всего имени функции Вам достаточно нажать Enter и подставится её полное имя. Это экономит Ваше время, позволяет избежать опечаток и избавляет от необходимости помнить сотни и тысячи функций и классов, которые содержатся в больших проектах.


В качестве второго примера педположим, что Вы имеете следующий код:


double foo ()
{
  double var = my_func();
  return var * var;
}


double bar ()
{
  double var = my_func();
  return var * var * var;
}


Если Вы наведёте курсор мыши на лексему var в функции bar, Вы получите возможность увидеть все возможности использования этой лексемы. При клике на неё, отобразятся возможности использования этой переменной только в функции bar, т.к. KDevelop понимает, что переменная функции foo по имени var не имеет ничего общего с переменной с тем же именем из функции bar. Точно так же правый клик на переменной позволит Вам переименовать переменную. Это коснётся только переменной в функции bar, а переменная из функции foo окажется нетронутой, не смотря на одинаковое имя.


But KDevelop is not just an intelligent code editor; there are other things KDevelop does well. Obviously, it highlights the source code in different colors; it has a customizable indenter; it has an integrated interface to the GNU debugger gdb; it can show you the documentation for a function if you hover the mouse over a use of this function; it can deal with different kinds of build environments and compilers (e.g. with make and cmake-based project), and many other neat things that are discussed in this manual.