Kdevelop5/Manual/Meet KDevelop/ru: Difference between revisions
(Created page with "'''KDevelop''' запомнит что <code>my_ride</code> в последней строке является переменной типа <code>Car</code> и предло...") |
(Updating to match new version of source page) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
==Чем является KDevelop?== | <div class="mw-translate-fuzzy"> | ||
==Чем является KDevelop?== | |||
</div> | |||
Line 17: | Line 19: | ||
<div class="mw-translate-fuzzy"> | |||
{{Input|<syntaxhighlight lang="cpp"> | {{Input|<syntaxhighlight lang="cpp"> | ||
class Car { | class Car { | ||
Line 24: | Line 27: | ||
}; | }; | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
</div> | |||
Line 29: | Line 33: | ||
<div class="mw-translate-fuzzy"> | |||
{{Input|<syntaxhighlight lang="cpp"> | {{Input|<syntaxhighlight lang="cpp"> | ||
Car my_ride; | Car my_ride; | ||
Line 34: | Line 39: | ||
std::string color = my_ride.ge | std::string color = my_ride.ge | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
</div> | |||
Line 39: | Line 45: | ||
В качестве второго примера педположим, что Вы имеете следующий код: | |||
<div class="mw-translate-fuzzy"> | |||
<!--}}-->{{Input|<syntaxhighlight lang="cpp"> | <!--}}-->{{Input|<syntaxhighlight lang="cpp"> | ||
double foo () | double foo () | ||
Line 48: | Line 55: | ||
return var * var; | return var * var; | ||
} | } | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
double bar () | double bar () | ||
{ | { | ||
Line 56: | Line 65: | ||
} | } | ||
</syntaxhighlight>}}<!--{{--> | </syntaxhighlight>}}<!--{{--> | ||
</div> | |||
Если Вы наведёте курсор мыши на лексему <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> окажется нетронутой, не смотря на одинаковое имя. | |||
Но '''KDevelop''' не только интеллектуальный ретактор исходного кода. Он имеет иные достоинства, делающие его привлекательным. Очевидно что это разноцветная подсветка исходного кода, это настраиваемое управление выступами, это интегрированный интерфейс к GNU отладчику '''gdb''', это возможность показать документацию на функцию при наведении курсора мыши на её имя, это возможнось использования различных систем сборок и компиляторов (например с проектами использующими '''make''' или '''cmake''') и много других изящных возможностей, которые описаны в этом руководстве. | |||
Line 71: | Line 81: | ||
[[Category: | [[Category:Разработка/ru]] |
Latest revision as of 08:37, 2 April 2020
Чем является 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; } </div> <div class="mw-translate-fuzzy"> double bar () { double var = my_func(); return var * var * var; }
Если Вы наведёте курсор мыши на лексему var
в функции bar
, Вы получите возможность увидеть все возможности использования этой лексемы. При клике на неё, отобразятся возможности использования этой переменной только в функции bar
, т.к. KDevelop понимает, что переменная функции foo
по имени var
не имеет ничего общего с переменной с тем же именем из функции bar
. Точно так же правый клик на переменной позволит Вам переименовать переменную. Это коснётся только переменной в функции bar
, а переменная из функции foo
окажется нетронутой, не смотря на одинаковое имя.
Но KDevelop не только интеллектуальный ретактор исходного кода. Он имеет иные достоинства, делающие его привлекательным. Очевидно что это разноцветная подсветка исходного кода, это настраиваемое управление выступами, это интегрированный интерфейс к GNU отладчику gdb, это возможность показать документацию на функцию при наведении курсора мыши на её имя, это возможнось использования различных систем сборок и компиляторов (например с проектами использующими make или cmake) и много других изящных возможностей, которые описаны в этом руководстве.