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

    From KDE UserBase Wiki
    (Created page with "==Чем является KDevelop?==")
    (Created page with "Category:Разработка/ru")
    (8 intermediate revisions by the same user not shown)
    Line 11: Line 11:




    [http://www.KDevelop.org KDevelop] is a modern integrated development environment (IDE) for C++ (and other languages) that is one of many [http://www.kde.org/applications/ KDE applications]. As such it runs on Linux (even if you run one of the other desktops, such as GNOME) but it is also available for most other variants of Unix and for Windows as well.
    [http://www.KDevelop.org KDevelop] — это современная интегрированная среда разработки (IDE) для C++ (и иных языков программирования) входящая во множество [http://www.kde.org/applications/ приложений KDE]. Она используется в основном для Linux (работает даже если Вы используете другие окружения рабочего стола, например GNOME) доступна и для множества иных вариантов Unix систем, а так же Windows.




    '''KDevelop''' offers all amenities of modern IDEs. For large projects and applications, the most important feature is that '''KDevelop''' ''understands C++'': it parses the entire source base and remembers which classes have which member functions, where variables are defined, what their types are, and many other things about your code. For example, let's say one of your project's header files declares a class
    '''KDevelop''' предлагает все удобства современного IDE. Для больших проектов и приложений самой важной особенностью является то, что '''KDevelop''' понимает ''C++'': он анализирует весь исходный код и запоминает какие функции (методы) в каких классах определены, где были определены переменные, какие у них типы и многие другие особенности Вашего исходного кода. Например предположим что один из заголовочных файлов вашего проекта определяет класс:




    Line 26: Line 26:




    and later on in your program you have
    и далее в Вашей программе Вы написали




    {{Input|<syntaxhighlight lang="cpp">
    {{Input|<syntaxhighlight lang="cpp">
    Car my_ride;
    Car my_ride;
    // ...do something with this variable...
    // ...делаем что-нибудь с этой переменной...
    std::string color = my_ride.ge
    std::string color = my_ride.ge
    </syntaxhighlight>}}
    </syntaxhighlight>}}




    it will have remembered that <code>my_ride</code> in the last line is a variable of type <code>Car</code> and offer you to complete <code>ge</code> as <code>get_color()</code> since this is the only member function of the <code>Car</code> class that starts like this. Instead of continuing to type you just hit <keycap>Enter</keycap> to get the full word; this saves typing, avoids typos, and doesn't require you to remember the exact names of the hundreds or thousands of functions and classes that make up large projects.  
    '''KDevelop''' запомнит что <code>my_ride</code> в последней строке является переменной типа <code>Car</code> и предложит завершить <code>ge</code> на <code>get_color()</code>, так как это единственный метод класса <code>Car</code>, который начинается с введённых символов. Вместо набора всего имени функции Вам достаточно нажать <keycap>Enter</keycap> и подставится её полное имя. Это экономит Ваше время, позволяет избежать опечаток и избавляет от необходимости помнить сотни и тысячи функций и классов, которые содержатся в больших проектах.  




    As a second example, assume you have code like this:
    В качестве второго примера педположим, что Вы имеете следующий код:




    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> окажется нетронутой, не смотря на одинаковое имя.




    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.
    Но '''KDevelop''' не только интеллектуальный ретактор исходного кода. Он имеет иные достоинства, делающие его привлекательным. Очевидно что это разноцветная подсветка исходного кода, это настраиваемое управление выступами, это интегрированный интерфейс к GNU отладчику '''gdb''', это возможность показать документацию на функцию при наведении курсора мыши на её имя, это возможнось использования различных систем сборок и компиляторов (например с проектами использующими '''make''' или '''cmake''') и много других изящных возможностей, которые описаны в этом руководстве.




    Line 71: Line 71:




    [[Category:Development]]
    [[Category:Разработка/ru]]

    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 окажется нетронутой, не смотря на одинаковое имя.


    Но KDevelop не только интеллектуальный ретактор исходного кода. Он имеет иные достоинства, делающие его привлекательным. Очевидно что это разноцветная подсветка исходного кода, это настраиваемое управление выступами, это интегрированный интерфейс к GNU отладчику gdb, это возможность показать документацию на функцию при наведении курсора мыши на её имя, это возможнось использования различных систем сборок и компиляторов (например с проектами использующими make или cmake) и много других изящных возможностей, которые описаны в этом руководстве.