dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Handbok KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="KDevelop är en integrerad utvecklingsmiljö att använda för ett brett utbud av programmeringsuppgifter."><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="next" href="what-is-kdevelop.html" title="Kapitel 1. Vad är KDevelop?"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Handbok <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="what-is-kdevelop.html">Nästa</a></td></tr></table></div><div id="contentBody"><div lang="sv" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="kdevelop"></a>Handbok <span class="application">KDevelop</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Det här dokumentet är konverterat från KDE:s användarbas sida <a class="ulink" href="https://userbase.kde.org/KDevelop4/Manual" target="_top">KDevelop4/Manual</a>.</span> <span class="surname"></span> </p><span class="othercredit"><span class="contrib">Översättare</span>: <span class="firstname">Stefan</span> <span class="surname">Asserhäll</span><br></span></div></div><div>Revision <span class="releaseinfo"><span class="application">KDevelop</span> 4.4 (<span class="orgname">KDE<br></span> 4.9) (<span class="date">2012-08-19</span>)</span></div><div><p><a href="help:/kdoctools5-common/fdl-notice.html">Rättsligt Meddelande</a></p></div><div><div><div class="abstract"><p><span class="application">KDevelop</span> är en integrerad utvecklingsmiljö att använda för ett brett utbud av programmeringsuppgifter.</p></div></div></div></div><hr></div><div class="toc"><p><b>Innehållsförteckning</b></p><dl class="toc"><dt><span class="chapter"><a href="what-is-kdevelop.html">1. Vad är <span class="application">KDevelop</span>?</a></span></dt><dt><span class="chapter"><a href="sessions-and-projects--the-basics-of-kdevelop.html">2. Sessioner och projekt: <span class="application">KDevelop</span>s grunder</a></span></dt><dd><dl><dt><span class="sect1"><a href="sessions-and-projects--the-basics-of-kdevelop.html#terminology">Terminologi</a></span></dt><dt><span class="sect1"><a href="setting-up-a-session-and-importing-an-existing-project.html">Ställa in en session och importera ett befintligt projekt</a></span></dt><dd><dl><dt><span class="sect2"><a href="setting-up-a-session-and-importing-an-existing-project.html#option-1--importing-a-project-from-a-version-control-system-server">Alternativ 1: Importera ett projekt från en server för ett versionskontrollsystem</a></span></dt><dt><span class="sect2"><a href="setting-up-a-session-and-importing-an-existing-project.html#option-2--importing-a-project-that-is-already-on-your-hard-drive">Alternativ 2: Importera ett projekt som redan finns på hårddisken</a></span></dt></dl></dd><dt><span class="sect1"><a href="setting-up-an-application-as-a-second-project.html">Ställa in ett program som andra projekt</a></span></dt><dt><span class="sect1"><a href="creating-projects-from-scratch.html">Skapa projekt från början</a></span></dt></dl></dd><dt><span class="chapter"><a href="working-with-source-code.html">3. Arbeta med källkod</a></span></dt><dd><dl><dt><span class="sect1"><a href="working-with-source-code.html#tools-and-views">Verktyg och vyer</a></span></dt><dt><span class="sect1"><a href="exploring-source-code.html">Utforska källkod</a></span></dt><dd><dl><dt><span class="sect2"><a href="exploring-source-code.html#local-information">Lokal information</a></span></dt><dt><span class="sect2"><a href="exploring-source-code.html#file-scope-information">Information på filnivå</a></span></dt><dt><span class="sect2"><a href="exploring-source-code.html#project-and-session-scope-information">Information på projekt- och sessionsnivå</a></span></dt><dt><span class="sect2"><a href="exploring-source-code.html#rainbow-color-highlighting-explained">Förklaring av färgläggning med regnbågsfärger</a></span></dt></dl></dd><dt><span class="sect1"><a href="navigating-in-source-code.html">Navigera i källkod</a></span></dt><dd><dl><dt><span class="sect2"><a href="navigating-in-source-code.html#local-navigation">Lokal navigering</a></span></dt><dt><span class="sect2"><a href="navigating-in-source-code.html#file-scope-navigation-and-outline-mode">Navigering på  filnivå och översiktsläge</a></span></dt><dt><span class="sect2"><a href="navigating-in-source-code.html#project-and-session-scope-navigation--semantic-navigation">Navigering på projekt- och sessionsnivå: semantisk navigering</a></span></dt></dl></dd><dt><span class="sect1"><a href="writing-source-code.html">Skriva källkod</a></span></dt><dd><dl><dt><span class="sect2"><a href="writing-source-code.html#auto-completion">Automatisk komplettering</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#adding-new-classes-and-implementing-member-functions">Lägga till nya klasser och implementera medlemsfunktioner</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#documenting-declarations">Dokumentera deklarationer</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#renaming-variables-functions-and-classes">Byta namn på variabler, funktioner och klasser</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#code-snippets">Kodsnuttar</a></span></dt></dl></dd><dt><span class="sect1"><a href="modes-and-working-sets.html">Lägen och arbetsuppsättningar</a></span></dt><dt><span class="sect1"><a href="some-useful-keyboard-shortcuts.html">Några användbara snabbtangenter</a></span></dt></dl></dd><dt><span class="chapter"><a href="code-generation-with-templates.html">4. Kodgenerering med mallar</a></span></dt><dd><dl><dt><span class="sect1"><a href="code-generation-with-templates.html#creating-a-new-class">Skapa en ny klass</a></span></dt><dt><span class="sect1"><a href="creating-a-new-unit-test.html">Skapa en ny enhetstest</a></span></dt><dt><span class="sect1"><a href="other-files.html">Andra filer</a></span></dt><dt><span class="sect1"><a href="managing-templates.html">Hantera mallar</a></span></dt></dl></dd><dt><span class="chapter"><a href="building-compiling-projects-with-custom-makefiles.html">5. Bygga (kompilera) projekt med egen Makefile</a></span></dt><dd><dl><dt><span class="sect1"><a href="building-compiling-projects-with-custom-makefiles.html#building-individual-makefile-targets">Bygga enskilda mål i en Makefile</a></span></dt><dt><span class="sect1"><a href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">Välja en samling mål för en Makefile att bygga upprepade gånger</a></span></dt><dt><span class="sect1"><a href="what-to-do-with-error-messages.html">Vad man ska göra med felmeddelanden</a></span></dt></dl></dd><dt><span class="chapter"><a href="running-programs-in-kdevelop.html">6. Köra program i <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="running-programs-in-kdevelop.html#setting-up-launches-in-kdevelop">Ställa in start i <span class="application">KDevelop</span></a></span></dt><dt><span class="sect1"><a href="some-useful-keyboard-shortcuts0.html">Några användbara snabbtangenter</a></span></dt></dl></dd><dt><span class="chapter"><a href="debugging-programs-in-kdevelop.html">7. Avlusa ett program i <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="debugging-programs-in-kdevelop.html#running-a-program-in-the-debugger">Köra ett program i avlusaren</a></span></dt><dt><span class="sect1"><a href="attaching-the-debugger-to-a-running-process.html">Ansluter avlusaren till en process som kör</a></span></dt><dt><span class="sect1"><a href="some-useful-keyboard-shortcuts1.html">Några användbara snabbtangenter</a></span></dt></dl></dd><dt><span class="chapter"><a href="working-with-version-control-systems.html">8. Arbeta med versionskontrollsystem</a></span></dt><dt><span class="chapter"><a href="customizing-kdevelop.html">9. Anpassa <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="customizing-kdevelop.html#customizing-the-editor">Anpassa editorn</a></span></dt><dt><span class="sect1"><a href="customizing-code-indentation.html">Anpassa kodindentering</a></span></dt><dt><span class="sect1"><a href="customizing-keyboard-shortcuts.html">Anpassa snabbtangenter</a></span></dt><dt><span class="sect1"><a href="customizing-code-auto-completion.html">Automatisk kodkomplettering</a></span></dt></dl></dd><dt><span class="chapter"><a href="credits.html">10. Tack till och licens</a></span></dt></dl></div><FILENAME filename="what-is-kdevelop.html"><html><head><title>Kapitel 1. Vad är KDevelop?</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="index.html" title="Handbok KDevelop"><link rel="next" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Kapitel 2. Sessioner och projekt: KDevelops grunder"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Vad är <span class="application">KDevelop</span>?</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="sessions-and-projects--the-basics-of-kdevelop.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="what-is-kdevelop"></a>Kapitel 1. Vad är <span class="application">KDevelop</span>?</h1></div></div></div><p><a class="ulink" href="https://www.kdevelop.org/" target="_top"><span class="application">KDevelop</span></a> är en modern integrerad utvecklingsmiljö för C++ (och andra språk) som är ett av många <a class="ulink" href="https://kde.org/applications/" target="_top">KDE program</a>. Som sådant kör det på <span class="trademark">Linux</span>® (även om någon av de andra skrivborden, såsom GNOME, används) men det är också tillgängligt för de flesta andra varianter av <span class="trademark">UNIX</span>® och dessutom för Windows.</p><p><span class="application">KDevelop</span> erbjuder alla bekvämligheter i en modern utvecklingsmiljö. För stora projekt och program är den viktigaste funktionen att <span class="application">KDevelop</span> <span class="emphasis"><em>förstår C++</em></span>: det tolkar hela källkodsbasen och kommer ihåg vilka klasser som har vilka medlemsfunktioner, var variabler definieras, vad deras typer är, och många andra saker om koden. Låt oss exempelvis anta att en av projektets deklarationsfiler deklarerar klassen</p><pre class="programlisting">class Car {
  // ...
  public:
    std::string get_color () const;
};
</pre><p>
</p><p>och senare i programmet har du</p><pre class="programlisting">Car my_ride;
// ... gör något med variabeln ...
std::string color = my_ride.ge
</pre><p>
</p><p>kommer det ihåg att <code class="varname">my_ride</code> på sista raden är en variabel av typen <code class="varname">Car</code> och erbjuder dig att komplettera <code class="varname">ge</code> som <code class="varname">get_color()</code> eftersom det är enda medlemsfunktionen i klassen <code class="varname">Car</code> som börjar så. Istället för att fortsätta skriva, tryck bara på returtangenten för att få hela ordet. Det sparar tid, undviker stavfel, och kräver inte att man kommer ihåg de exakta namnen på de hundratals eller tusentals funktioner och klasser som ingår i stora projekt.</p><p>Som ett andra exempel, anta att du har kod som det här:</p><pre class="programlisting">double foo ()
{
  double var = my_func();
  return var * var;
}
double bar ()
{
  double var = my_func();
  return var * var * var;
}
</pre><p>Om du håller musen över symbolen <code class="varname">var</code> i funktionen <code class="varname">bar</code> får du möjlighet att se alla användningar av symbolen. Att klicka på den visar bara användningen av variabeln i funktionen <code class="varname">bar</code> eftersom <span class="application">KDevelop</span> förstår att variabeln <code class="varname">var</code> i funktionen <code class="varname">foo</code> inte har någonting att göra med den. På liknande sätt, kan du byta namn på variabeln med ett högerklick på variabelnamnet. Att göra det påverkar bara variabeln i <code class="varname">bar</code>, men inte den andra med samma namn i <code class="varname">foo</code>.</p><p>Men <span class="application">KDevelop</span> är inte bara en intelligent kodeditor. Det finns andra saker som <span class="application">KDevelop</span> är bra på. Naturligtvis färglägger det källkoden med olika färger, har anpassningsbar indentering, ett integrerat gränssnitt för GNU avlusaren <span class="application">gdb</span>, kan visa dokumentationen för en funktion om musen hålls över där funktionen används, kan hantera olika sorters byggmiljöer och kompilatorer (t.ex. för projekt baserade på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">make</span></span> och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">cmake</span></span>), och har många andra praktiska funktioner som beskrivs i den här handboken.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="sessions-and-projects--the-basics-of-kdevelop.html">Nästa</a></td></tr><tr><td class="prevCell">Handbok <span class="application">KDevelop</span> </td><td class="upCell"> </td><td class="nextCell"> Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="sessions-and-projects--the-basics-of-kdevelop.html"><html><head><title>Kapitel 2. Sessioner och projekt: KDevelops grunder</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="what-is-kdevelop.html" title="Kapitel 1. Vad är KDevelop?"><link rel="next" href="setting-up-a-session-and-importing-an-existing-project.html" title="Ställa in en session och importera ett befintligt projekt"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Sessioner och projekt: <span class="application">KDevelop</span>s grunder</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-is-kdevelop.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="setting-up-a-session-and-importing-an-existing-project.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sessions-and-projects--the-basics-of-kdevelop"></a>Kapitel 2. Sessioner och projekt: <span class="application">KDevelop</span>s grunder</h1></div></div></div><p>I det här avsnittet går vi igenom en del av terminologin rörande hur <span class="application">KDevelop</span> ser på världen och hur arbete struktureras. Närmare bestämt introducerar vi koncepten <span class="emphasis"><em>session</em></span> och <span class="emphasis"><em>projekt</em></span> och förklarar hur projekten man vill arbeta på ställs in i <span class="application">KDevelop</span>.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="terminology"></a>Terminologi</h2></div></div></div><p><span class="application">KDevelop</span> har koncepten <span class="emphasis"><em>session</em></span> och <span class="emphasis"><em>projekt</em></span>. En session innehåller alla projekt som har något att göra med varandra. I exemplen som följer, anta att du är utvecklare av både ett bibliotek och ett program som använder det. Du kan se KDE:s kärnbibliotek som det förra och <span class="application">KDevelop</span> som det senare. Ett annat exempel: Låt oss säga att du är en programmerare av <span class="trademark">Linux</span>® kärna, men också arbetar på en drivrutin för <span class="trademark">Linux</span>® som inte ännu har infogats i kärnans träd.</p><p>Så med det senare som exempel, skulle du ha en session i <span class="application">KDevelop</span> som har två projekt: <span class="trademark">Linux</span>®-kärnan och drivrutinen. Du bör vilja gruppera dem i en enda session (istället för att ha två sessioner med ett enda projekt vardera) eftersom det är användbart att kunna se kärnans funktioner och datastrukturer i <span class="application">KDevelop</span> när du skriver källkod för drivrutinen, så att du exempelvis kan få kärnans funktions- och variabelnamn automatiskt expanderade, eller så att du kan se kärnans funktionsdokumentation medan du arbetar på drivrutinen.</p><p>Föreställ dig nu att du också råkar vara en utvecklare av KDE. Då skulle du ha en andra session som innehåller KDE som ett projekt. Du skulle i princip kunna ha en session för allt detta, men det finns inte någon riktig anledning att göra det. För arbete med KDE, behöver du inte kunna komma åt kärnans eller drivrutinens funktioner, och du vill inte att KDE:s klassnamn ska expanderas automatiskt medan du arbetar med <span class="trademark">Linux</span>®-kärnan. Till sist, att bygga några KDE-bibliotek är oberoende av omkompilering av <span class="trademark">Linux</span>®-kärnan (medan när du än kompilerar drivrutinen vore det också bra att kompilera om <span class="trademark">Linux</span>®-kärnan om några av kärnans deklarationsfiler har ändrats).</p><p>Slutligen, en annan användning av sessioner är om du både arbetar på den aktuella utvecklingsversionen av ett projekt, samt på en gren. I detta fall vill du inte att <span class="application">KDevelop</span> blandar ihop klasser som hör till huvudversionen och grenen, så du har två sessioner med samma uppsättning projekt men från olika kataloger (som motsvarar olika utvecklingsgrenar).</p></div><FILENAME filename="setting-up-a-session-and-importing-an-existing-project.html"><html><head><title>Ställa in en session och importera ett befintligt projekt</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Kapitel 2. Sessioner och projekt: KDevelops grunder"><link rel="prev" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Kapitel 2. Sessioner och projekt: KDevelops grunder"><link rel="next" href="setting-up-an-application-as-a-second-project.html" title="Ställa in ett program som andra projekt"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Ställa in en session och importera ett befintligt projekt</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="sessions-and-projects--the-basics-of-kdevelop.html">Föregående</a></td><td class="upCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td><td class="nextCell"><a accesskey="n" href="setting-up-an-application-as-a-second-project.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="setting-up-a-session-and-importing-an-existing-project"></a>Ställa in en session och importera ett befintligt projekt</h2></div></div></div><p>Låt oss hålla oss till exemplet med <span class="trademark">Linux</span>®-kärnan och drivrutinen. Du kanske vill ersätta din egen uppsättning bibliotek eller projekt istället för de här två exemplen. För att skapa en ny session som innehåller de två projekten gå till menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Session</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Starta ny session</span></span> längst upp till vänster (eller om det är första gången du använder <span class="application">KDevelop</span>, använd helt enkelt sessionen du får första gången, default, som är tom).</p><p>Därefter vill vi befolka sessionen med projekt som vi för tillfället antar redan finns någonstans (fallet med att starta projekt från början beskrivs på ett annat ställe i handboken). För att göra det finns det i huvudsak två metoder, beroende på om projektet redan finns någonstans på hårddisken eller om det måste laddas ner från en server.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="option-1--importing-a-project-from-a-version-control-system-server"></a>Alternativ 1: Importera ett projekt från en server för ett versionskontrollsystem</h3></div></div></div><p>Låt oss först anta att projektet vi vill skapa, <span class="trademark">Linux</span>®-kärnan, finns i något versionskontrollsystem på en server, men att du inte ännu har checkat ut det till din lokala hårddisk. I detta fall, gå till menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span> för att skapa <span class="trademark">Linux</span>®-kärnan som ett projekt inne i den aktuella sessionen och utför följande steg:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Gå till <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Projekt</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Hämta projekt</span></span> för att importera ett projekt </p></li><li class="listitem"><p>Därefter har du flera alternativ för att starta ett nytt projekt i den aktuella sessionen, beroende på var källkodsfilerna ska komma från. Du kan helt enkelt peka <span class="application">KDevelop</span> på en befintlig katalog (se alternativ 2 nedan), eller be <span class="application">KDevelop</span> att hämta källkoden från ett arkiv. </p></li><li class="listitem"><p>Med antagandet att du inte redan har en version utcheckad: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>Under <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Välj källa</span></span> i dialogrutan, välj att använda <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Från filsystem</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Git</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GitHub</span></span> eller <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">KDE</span></span> </p></li><li class="listitem"><p>Välj en arbetskatalog som mål dit källkoden ska checkas ut </p></li><li class="listitem"><p>Välj en webbadress för platsen för arkivet där källkodsfilerna kan hämtas </p></li><li class="listitem"><p>Klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Hämta</span></span>. Det kan ta ganska lång tid, beroende på anslutningens hastighet och projektets storlek. Tyvärr visar inte förloppsraden någonting i <span class="application">KDevelop</span> 4.2.x, men du kan följa förloppet genom att periodiskt titta på utmatningen på kommandoraden från kommandot </p><pre class="screen">du -sk <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>/sökväg/till/<span class="application">KDevelop</span>/projekt</code></em></span></pre><p> för att se hur mycket data som redan har laddats ner. </p></li></ul></div><p>
</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Problemet med förloppsraden har rapporterats som <a class="ulink" href="https://bugs.kde.org/show_bug.cgi?id=256832" target="_top"><span class="application">KDevelop</span> fel 256832</a>.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Under processen får jag också felmeddelandet <span class="emphasis"><em>Du måste ange en giltig plats för projektet</em></span>, vilket kan ignoreras utan problem.</p></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Du blir tillfrågad om att välja en <span class="application">KDevelop</span> projektfil i katalogen. Eftersom du troligen inte har någon ännu, klicka helt enkelt på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Nästa</span></span>. </p></li><li class="listitem"><p>Tryck på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Nästa</span></span> igen </p></li><li class="listitem"><p><span class="application">KDevelop</span> ber dig sedan välja en projekthanterare. Om projektet använder vanliga <span class="trademark">UNIX</span>® make-filer, välj projekthanteraren för eget byggsystem. </p></li><li class="listitem"><p><span class="application">KDevelop</span> börjar sedan tolka hela projektet. Återigen tar det en hel del tid att gå igenom alla filer och indexera klasser, etc. Längst ner till höger i huvudfönstret finns en förloppsrad som visar hur långt processen har kommit (om du har flera processorkärnor kan du accelerera processen genom att gå till menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Anpassa <span class="application">KDevelop</span></span></span>, sedan välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bakgrundstolkning</span></span> till vänster och öka antal trådar för bakgrundstolkning till höger). </p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="option-2--importing-a-project-that-is-already-on-your-hard-drive"></a>Alternativ 2: Importera ett projekt som redan finns på hårddisken</h3></div></div></div><p>Som ett alternativ, om projektet du vill arbeta med redan finns på hårddisken (exempelvis för att du har laddat ner det som en tar-fil från en FTP-server, eftersom du redan har checkat ut en version av projektet som ett versionskontrollsystem, eller för att det är ditt eget projekt som <span class="emphasis"><em>bara</em></span> finns på din egen hårddisk), använd då <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Projekt</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Öppna/Importera projekt</span></span> och välj katalogen där projektet finns i dialogrutan.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="sessions-and-projects--the-basics-of-kdevelop.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="setting-up-an-application-as-a-second-project.html">Nästa</a></td></tr><tr><td class="prevCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder </td><td class="upCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td><td class="nextCell"> Ställa in ett program som andra projekt</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="setting-up-an-application-as-a-second-project.html"><html><head><title>Ställa in ett program som andra projekt</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Kapitel 2. Sessioner och projekt: KDevelops grunder"><link rel="prev" href="setting-up-a-session-and-importing-an-existing-project.html" title="Ställa in en session och importera ett befintligt projekt"><link rel="next" href="creating-projects-from-scratch.html" title="Skapa projekt från början"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Ställa in ett program som andra projekt</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-a-session-and-importing-an-existing-project.html">Föregående</a></td><td class="upCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td><td class="nextCell"><a accesskey="n" href="creating-projects-from-scratch.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="setting-up-an-application-as-a-second-project"></a>Ställa in ett program som andra projekt</h2></div></div></div><p>Nästa sak som du ska göra är att lägga till andra projekt i samma session. I exemplet ovan, skulle du lägga till drivrutinen som andra projekt, vilket kan göras med exakt samma steg.</p><p>Om du har flera program eller bibliotek, upprepa helt enkelt stegen för att lägga till fler och fler projekt i sessionen.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-a-session-and-importing-an-existing-project.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="creating-projects-from-scratch.html">Nästa</a></td></tr><tr><td class="prevCell">Ställa in en session och importera ett befintligt projekt </td><td class="upCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td><td class="nextCell"> Skapa projekt från början</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="creating-projects-from-scratch.html"><html><head><title>Skapa projekt från början</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Kapitel 2. Sessioner och projekt: KDevelops grunder"><link rel="prev" href="setting-up-an-application-as-a-second-project.html" title="Ställa in ett program som andra projekt"><link rel="next" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Skapa projekt från början</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-an-application-as-a-second-project.html">Föregående</a></td><td class="upCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td><td class="nextCell"><a accesskey="n" href="working-with-source-code.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-projects-from-scratch"></a>Skapa projekt från början</h2></div></div></div><p>Det finns förstås också möjligheten att du vill påbörja ett nytt projekt från början. Det kan göras genom att använda menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Projekt</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nytt från mall...</span></span>, som ger dig en dialogruta för att välja mall. Vissa projektmallar tillhandahålls med <span class="application">KDevelop</span> men ännu fler är tillgängliga genom att installera programmet <span class="application">KAppTemplate</span>. Välj projekttyp och programspråk i dialogrutan, ange ett namn och plats för projektet, och klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Nästa</span></span>. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-project-dialog.png"></div></div><p>
</p><p>Den andra sidan i dialogrutan låter dig ställa in ett versionskontrollsystem. Välj system som du vill använda och fyll i den systemspecifika inställningen om det behövs. Om du inte vill använda ett versionskontrollsystem, eller vill ställa in det manuellt senare, välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Inget</span></span>. När du är nöjd med ditt val, klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Slutför</span></span>. </p><p>Projektet har nu skapats, så du kan försöka bygga eller installera det. Vissa mallar inkluderar kommentarer i koden, eller till och med en separat README-fil, och det rekommenderas att du läser dem först. Därefter kan du börja arbeta på projektet genom att lägga till vilka funktioner du än vill ha. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-an-application-as-a-second-project.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="working-with-source-code.html">Nästa</a></td></tr><tr><td class="prevCell">Ställa in ett program som andra projekt </td><td class="upCell">Sessioner och projekt: <span class="application">KDevelop</span>s grunder</td><td class="nextCell"> Arbeta med källkod</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-is-kdevelop.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="setting-up-a-session-and-importing-an-existing-project.html">Nästa</a></td></tr><tr><td class="prevCell">Vad är <span class="application">KDevelop</span>? </td><td class="upCell"> </td><td class="nextCell"> Ställa in en session och importera ett befintligt projekt</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-source-code.html"><html><head><title>Kapitel 3. Arbeta med källkod</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="creating-projects-from-scratch.html" title="Skapa projekt från början"><link rel="next" href="exploring-source-code.html" title="Utforska källkod"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Arbeta med källkod</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-projects-from-scratch.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="exploring-source-code.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="working-with-source-code"></a>Kapitel 3. Arbeta med källkod</h1></div></div></div><p>Förutom avlusning, är att läsa igenom och skriva källkod det du spenderar längst tid med vid programvaruutveckling. I detta syfte erbjuder <span class="application">KDevelop</span> dig många olika sätt att utforska källkod och skriva den på ett produktivare sätt. Som beskrivs mer detaljerat i följande avsnitt, är inte <span class="application">KDevelop</span> bara en källkodseditor. Istället är det ett källkodshanteringssystem som ger dig olika vyer av extraherad information om filerna som kollektivt utgör sessionens källkod.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tools-and-views"></a>Verktyg och vyer</h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-7.png"><div class="caption"><p></p></div></div></div><p>För att fungera med projekt har <span class="application">KDevelop</span> konceptet <span class="emphasis"><em>verktyg</em></span>. Ett verktyg tillhandahåller en särskild vy av källkoden, eller en åtgärd som kan göras med den. Verktyg representeras av knappar omkring fönstrets omkrets (i vertikal textredigering längs vänster och höger marginal, eller horisontellt längs nedre marginalen). Om du klickar på dem, expanderas de till ett delfönster, en <span class="emphasis"><em>vy</em></span>, i huvudfönstret. Om du klickar på verktygsknappen igen, försvinner delfönstret.</p><p>För att få ett delfönster att försvinna, kan du också klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">x</span></span> längst upp till höger i delfönstret.</p><p>Bilden ovan visar ett visst urval av verktyg, placerade längs vänster och höger marginaler. På bilden är verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Klasser</span></span> öppet till vänster och verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Testsnuttar</span></span> till höger, tillsammans med en editor av en källkodsfil i mitten. I praktiken har man troligen bara editorn och kanske verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Klasser</span></span> eller <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span> öppet till vänster. Andra verktygsvyer är troligen bara tillfälligt öppna medan man använder verktyget, vilket oftast lämnar mer utrymme för editorn.</p><p>När <span class="application">KDevelop</span> startas för första gången ska redan verktygsknappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span> finnas. Klicka på den: det öppnar ett delfönster som visar projekten som du har lagt till i sessionen längst ner, och en filsystemvy med katalogerna i projekten längst upp.</p><p>Det finns många andra verktyg som kan användas med <span class="application">KDevelop</span>, där inte alla initialt presenteras som knappar längs omkretsen. För att lägga till några, gå till menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fönster</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Lägg till verktygsvy</span></span>. Här är några som troligen är användbara:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Klasser</span></span>: En fullständig lista över alla klasser som är definierade i ett av projekten eller sessionen med alla deras medlemsfunktioner och variabler. Att klicka på någon av medlemmarna öppnar ett fönster för källkodsredigering på platsen för objektet som du klickade på. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Dokument</span></span>: Listar några av de senast besökta filerna, enligt sort (t.ex. källkodsfiler, programfixar, vanliga textdokument). </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span>: Beroende på markörposition i en fil, visar verktyget saker som är relaterade. Om du exempelvis är på en rad med <code class="varname">#include</code> visar den information om filen som du inkluderar såsom vilka klasser som är deklarerade i den filen. Om du är på en tom rad på filnivå visar den klasserna och funktionerna deklarerade och definierade i den aktuella filen (alla som länkar, att klicka på dem går till den positionen i filen där deklarationen eller definitionen faktiskt finns). Om du är i en funktionsdefinition, visar den var deklarationen är och erbjuder en lista över platser där funktionen används. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Filsystem</span></span>: Visar dig en trädvy av filsystemet. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Dokumentation</span></span>: Låter dig söka efter manualsidor och andra hjälpdokument. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Textsnuttar</span></span>: Det tillhandahåller textföljder som man använder gång på gång och inte vill skriva in varje gång. Exempelvis, i projektet som bilden ovan skapades från, är det ofta behov av att skriva kod som </p></li></ul></div><pre class="programlisting">for (typename Triangulation&lt; dim&gt;::active_cell_iterator cell
      = triangulation.begin_active();
   cell != triangulation.end();
   ++cell)</pre><p>Det är ett klumpigt uttryck men det ser nästan exakt likadant ut varje gång du behöver en sådan snurra, vilket gör det till en bra kandidat för en textsnutt.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Terminal</span></span>: Visar ett kommandoradsfönster inne i <span class="application">KDevelop</span>s huvudfönster, för enstaka kommandon som du kan vilja använda (t.ex. för att köra <code class="varname">./configure</code>). </p></li></ul></div><p>En fullständig lista över verktyg och vyer ges <a class="ulink" href="https://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Tool%20list" target="_top">här</a>.</p><p>För många programmerare är vertikalt skärmutrymme det viktigaste. För att uppnå det, kan verktygsvyerna arrangeras på vänster och höger marginal i fönstret. För att flytta ett verktyg, klicka på dess symbol med höger musknapp och välj en ny position för det.</p></div><FILENAME filename="exploring-source-code.html"><html><head><title>Utforska källkod</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><link rel="prev" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><link rel="next" href="navigating-in-source-code.html" title="Navigera i källkod"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Utforska källkod</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-source-code.html">Föregående</a></td><td class="upCell">Arbeta med källkod</td><td class="nextCell"><a accesskey="n" href="navigating-in-source-code.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="exploring-source-code"></a>Utforska källkod</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="local-information"></a>Lokal information</h3></div></div></div><p><span class="application">KDevelop</span> <span class="emphasis"><em>förstår</em></span> källkod, och är som en följd av det mycket bra på att tillhandahålla information om variabler eller funktioner som kan dyka upp i programmet. Här är exempelvis en ögonblicksbild av att arbeta med ett stycke kod och hålla musen över symbolen <code class="varname">cell</code> på rad 1316 (om du arbetar tangentbordsorienterat, kan du åstadkomma samma effekt genom att hålla ner tangenten <span class="keycap"><strong>Alt</strong></span> en stund):</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-13.png"><div class="caption"><p></p></div></div></div><p><span class="application">KDevelop</span> visar ett verktygstips som inkluderar variabelns typ (här: <code class="varname">DoFHandler&lt;dim&gt;active_cell_iterator</code>), var variabeln är deklarerad (<span class="emphasis"><em>behållaren</em></span>, vilket här är den omgivande funktionen <code class="varname">get_maximal_velocity</code> eftersom det är en lokal variabel), vad den är (en variabel, inte en funktion, klass eller namnrymd) och var den är deklarerad (på rad 1314, bara några få rader upp i koden).</p><p>I det aktuella sammanhanget, har inte symbolen som musen hölls över någon tillhörande dokumentation. Hade musen hållits över symbolen <code class="varname">get_this_mpi_process</code> på rad 1318, hade resultatet blivit följande:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-14.png"><div class="caption"><p></p></div></div></div><p>Här har <span class="application">KDevelop</span> korsrefererat deklarationen från en helt annan fil (<code class="filename">utilities.h</code>, som i själva verket ingår i ett annat projekt i samma session) tillsammans med den doxygen-liknande kommentaren som hör till deklarationen där.</p><p>Vad som gör verktygstipsen ännu användbarare är att de är dynamiska: Man kan klicka på behållaren för att få information om sammanhanget där variabeln är deklarerad (dvs. om namnrymden <code class="varname">System</code>, såsom var den är deklarerad, definierad, använd, eller vad dess dokumentation är) och man kan klicka på de blåa länkarna som flyttar markörposition till platsen där Symbol är deklarerad (t.ex. i <code class="varname">utilities.h</code>, på rad 289) eller ger en lista över platser där symbolen används i den aktuella filen eller i den aktuella sessionens samtliga projekt. Det senare är ofta användbart om du exempelvis vill utforska hur en viss funktion används i en större kodbas.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Informationen i ett verktygstips är flyktig: den beror på att du håller nere tangenten <span class="keycap"><strong>Alt</strong></span> eller håller musen över det. Om du vill ha en mer permanent plats för det, öppna verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span> i ett av delfönstren. Här är exempelvis markören på samma funktion som i exemplet ovan, och verktygsvyn till vänster visar samma sorts information som i verktygstipset tidigare:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-15.png"><div class="caption"><p></p></div></div></div><p>Att flytta omkring markören till höger ändrar informationen som visas till vänster. Dessutom, att klicka på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Lås nuvarande vy</span></span> låter dig låsa informationen, vilket gör den oberoende av markörförflyttningar medan du utforskar informationen som visas där.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Den här sortens sammanhangsberoende information är tillgänglig på många andra ställen i <span class="application">KDevelop</span>, inte bara i källkodseditorn. Genom att exempelvis hålla ner tangenten <span class="keycap"><strong>Alt</strong></span> i en kompletteringslista (t.ex. vid snabböppna) ger också sammanhangsinformation om den aktuella symbolen.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="file-scope-information"></a>Information på filnivå</h3></div></div></div><p>Nästa nivå uppåt är att erhålla information om hela källkodsfilen som du för närvarande arbetar på. För att åstadkomma det, placera markören på filnivå i aktuell fil och titta på vad verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span> visar:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-16.png"><div class="caption"><p></p></div></div></div><p>Här visar den en lista över namnrymder, klasser och funktioner deklarerade eller definierade i den aktuella filen, ger dig en översikt av vad som händer i filen och ett sätt att gå direkt till vilken som helst av deklarationer eller definitioner utan att rulla uppåt eller neråt i filen eller söka efter en specifik symbol.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Informationen som visas för filnivå är samma som presenteras med <span class="quote">”<span class="quote">Översikt</span>”</span> som beskrivs nedan för att navigera i källkod. Skillnaden är att översikt bara ger ett tillfälligt verktygstips.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="project-and-session-scope-information"></a>Information på projekt- och sessionsnivå</h3></div></div></div><p>Det finns många sätt att erhålla information om ett helt projekt (eller, i själva verket, om alla projekt i en session). Den här sortens information tillhandahålls typiskt via diverse verktygsvyer. Exempelvis tillhandahåller verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Klasser</span></span> en trädstruktur över alla klasser och omgivande namnrymder för alla projekt i en session, tillsammans med medlemsfunktionerna och variablerna för var och en av klasserna:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-17.png"><div class="caption"><p></p></div></div></div><p>Att hålla musen över en post tillhandahåller återigen information om symbolen. Platserna för dess deklaration och definition, och dess användningar. Att dubbelklicka på en post i trädvyn öppnar ett editorfönster på platsen där symbolen deklareras eller definieras.</p><p>Men det finns andra sätt att titta på global information. Exempelvis ger verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Dokument</span></span> en vy av projektet med avseende på vilka sorters filer eller andra dokument som projektet består av:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-18.png"><div class="caption"><p></p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="rainbow-color-highlighting-explained"></a>Förklaring av färgläggning med regnbågsfärger</h3></div></div></div><p><span class="application">KDevelop</span> använder diverse färger för att markera olika objekt i källkoden. Om du vet vad de olika färgerna betyder, kan du mycket snabbt extrahera en mängd information från källkoden bara genom att titta på färgerna, utan att läsa ett enda tecken. Färgläggningsreglerna är följande: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Objekt av typerna Klass, Struct, Enum (värdena och typen), (globala) funktionerna, och klassmedlemmarna har var och en sina egna färgtilldelningar (klasser är gröna, enum är mörkröda, och medlemmar är mörkgula eller violetta, (globala) funktioner är alltid violetta).</p></li><li class="listitem"><p>Alla globala variabler färgläggs med mörkgrönt</p></li><li class="listitem"><p>Identifierare som är en typedef av en annan typ färgläggs med blågrönt.</p></li><li class="listitem"><p>Alla deklarationer och definitioner av objekt använder fetstil.</p></li><li class="listitem"><p>Om en medlem används inne i sammanhanget den är definierad (basklass eller härledd klass) visas den med gult, annars visas den med violett.</p></li><li class="listitem"><p>Om en medlem är privat eller skyddad, färgläggs den med en något mörkare färg när den används.</p></li><li class="listitem"><p>För variabler lokala på funktionsnivå, väljs regnbågsfärger baserad på ett kondensat av identifieraren. Det inkluderar funktionens parametrar. En identifierare har alltid samma färg på dess nivå (men samma identifierare får en annan färg om den representerar ett annat objekt, dvs. om den definieras om på en mer nästlad nivå), och man får oftast samma färg på samma identifierarnamn på olika nivåer. Om du sålunda har olika funktioner som har parametrar med samma namn, ser argumenten alla likadana ut kodmässigt. Regnbågsfärgerna kan stängas av separat från den globala färgläggningen i inställningsdialogrutan:</p></li><li class="listitem"><p>Identifierare där <span class="application">KDevelop</span> inte kan bestämma motsvarande deklaration är färglagda med vitt. Det kan ibland orsakas av saknade <code class="varname">#include</code>-direktiv.</p></li><li class="listitem"><p>Förutom den färgläggningen, används den vanliga syntaxfärgläggningen i editorn, som är känd från <span class="application">Kate</span>. <span class="application">KDevelop</span>s semantiska färgläggning överskrider alltid editorns färgläggning om det finns en konflikt.</p></li></ul></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-source-code.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="navigating-in-source-code.html">Nästa</a></td></tr><tr><td class="prevCell">Arbeta med källkod </td><td class="upCell">Arbeta med källkod</td><td class="nextCell"> Navigera i källkod</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="navigating-in-source-code.html"><html><head><title>Navigera i källkod</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><link rel="prev" href="exploring-source-code.html" title="Utforska källkod"><link rel="next" href="writing-source-code.html" title="Skriva källkod"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Navigera i källkod</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="exploring-source-code.html">Föregående</a></td><td class="upCell">Arbeta med källkod</td><td class="nextCell"><a accesskey="n" href="writing-source-code.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="navigating-in-source-code"></a>Navigera i källkod</h2></div></div></div><p>I det föregående avsnittet, har vi beskrivit hur källkod utforskas, dvs. få information om symboler, filer och projekt. Nästa steg är sedan att flytta sig i kodbasen, dvs. navigera i den. Det finns återigen olika nivåer där det är möjligt: lokalt, inom en fil, och inom ett projekt.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Många av sätten att navigera genom koden kan kommas åt via menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Navigera</span></span> i <span class="application">KDevelop</span>s huvudfönster.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="local-navigation"></a>Lokal navigering</h3></div></div></div><p><span class="application">KDevelop</span> är mycket mer än en editor, men den är <span class="emphasis"><em>också</em></span> en källkodseditor. Som sådan, kan du förstås flytta markören uppåt, neråt, åt vänster och åt höger i en källkodsfil. Du kan också använda tangenterna <span class="keycap"><strong>PageUp</strong></span> och <span class="keycap"><strong>PageDown</strong></span>, och alla andra kommandon som du är van vid från vilken användbar editor som helst.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="file-scope-navigation-and-outline-mode"></a>Navigering på  filnivå och översiktsläge</h3></div></div></div><p>På filnivå erbjuder <span class="application">KDevelop</span> många möjliga sätt att navigera igenom källkoden. Exempelvis:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Översikt</span></span>: Du kan få en översikt av vad som finns i den aktuella filen på åtminstone tre olika sätt: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>Att klicka på textrutan <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Översikt</span></span> längst upp till höger i huvudfönstret, eller trycka på <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>N</strong></span>, visar en kombinationsmeny som listar alla funktioner och klassdeklarationer: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-19.png"><div class="caption"><p></p></div></div></div><p> Därefter kan du helt enkelt välja vilken du vill gå till, eller (om det finns många) börja skriva vilken text som helst som ingår i namnen som visas. I detta fall, medan du fortsätter skriva, blir listan mindre och mindre medan namn som inte motsvarar texten som redan har skrivits tills du är klar att välja ett av de som visas. </p></li><li class="listitem"><p>Placera markören på filnivå (dvs. utanför någon funktion eller klassdeklarationer eller definitioner) och ha verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span> öppet: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-16.png"><div class="caption"><p></p></div></div></div><p> Det tillhandahåller en översikt av vad som händer i den aktuella filen, och låter dig välja vart du vill gå. </p></li><li class="listitem"><p>Att hålla musen över fliken för en av de öppna filerna ger också en översikt av filen under den fliken. </p></li></ul></div><p>
</p></li><li class="listitem"><p>Källkodsfilerna är organiserade som en lista över funktionsdeklarationer eller definitioner. <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Page Up</strong></span> eller <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Page Down</strong></span> går till föregående eller nästa funktionsdefinition i filen. </p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="project-and-session-scope-navigation--semantic-navigation"></a>Navigering på projekt- och sessionsnivå: semantisk navigering</h3></div></div></div><p>Som nämnts på andra ställen, betraktar <span class="application">KDevelop</span> inte oftast individuella källkodsfiler utan tittar istället på projektet som en helhet (eller snarare på alla projekt som ingår i den aktuella sessionen). Som en konsekvens, erbjuder det många möjligheter att navigera igenom hela projekt. Vissa av dem härleds från vad vi redan beskrivit i avsnittet <a class="link" href="exploring-source-code.html" title="Utforska källkod">Utforska källkod</a> medan andra är genuint annorlunda. Det gemensamma temat är att navigeringsfunktionerna är baserade på en <span class="emphasis"><em>semantisk förståelse</em></span> av koden, dvs. de erbjuder någonting som kräver tolkning av hela projekt och anslutande data. Följande lista visar några sätt att navigera igenom källkod som är utspridda över ett potentiellt mycket stor antal filer:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Som syns i avsnittet <a class="link" href="exploring-source-code.html" title="Utforska källkod">Utforska källkod</a>, kan du få ett verktygstips som förklarar individuella namnrymder, funktions- eller variabelnamn genom att hålla musen över dem eller hålla tangenten <span class="keycap"><strong>Alt</strong></span> nedtryckt en stund. Här är ett exempel: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-14.png"></div></div><p> Att klicka på länkarna för deklarationen av en symbol eller expandera listan av användningar låter dig gå till positionerna, och öppnar respektive fil om nödvändigt och placerar markören på motsvarande position. En liknande effekt kan åstadkommas genom att använda verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span> som också beskrivits tidigare. </p></li><li class="listitem"><p>Ett snabbare sätt att gå till deklarationen av en symbol utan att behöva klicka på länkarna i verktygstipset är att tillfälligt aktivera <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bläddringsläge för källkod</span></span> genom att hålla nere tangenten <span class="keycap"><strong>Alt</strong></span> eller <span class="keycap"><strong>Ctrl</strong></span>. I det läget är det möjligt att direkt klicka på vilken symbol som helst i editorn för att gå till dess deklaration. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Snabböppna</span></span>: Ett mycket kraftfullt sätt att gå till andra filer eller platser är att använda de olika metoderna för att <span class="emphasis"><em>snabböppna</em></span> i <span class="application">KDevelop</span>. Det finns fyra versioner av dem: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Snabböppna klass</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Snabböppna plats</span></span> eller <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>): Du får en lista över alla klasser i sessionen. Börja skriva (en del av) namnet på en klass så fortsätter listan att skäras ner till bara de som verkligen motsvarar vad du hittills har skrivit in. Om listan är kort nog, välj ett element genom att använda tangenterna uppåt- eller neråtpil så tar <span class="application">KDevelop</span> dig till positionen där klassen är deklarerad. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Snabböppna funktion</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Snabböppna funktion</span></span> eller <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>M</strong></span>): Du får en lista över alla (medlems) funktioner som ingår i projekten i den aktuella sessionen, och du kan välja dem i den på samma sätt som ovan. Observera att listan kan innehålla både funktionsdeklarationer och definitioner. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Snabböppna fil</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Snabböppna fil</span></span> eller <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>O</strong></span>): Du får en lista över alla filer som ingår i projekten i den aktuella sessionen, och du kan välja från den på samma sätt som ovan. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Generell snabböppna</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Snabböppna</span></span> eller <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Q</strong></span>): Om du glömmer bort vilken tangentkombination hör ihop med vilket av de ovanstående kommandona, är det den generella lösningen. Det visar helt enkelt en kombinerad lista över alla filer, funktioner, klasser, och andra saker som du kan välja bland. </p></li></ul></div><p>
</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Gå till deklaration/definition</span></span>: När en (medlems) funktion implementeras, behöver man ofta gå tillbaka till stället där funktionen är deklarerad, för att exempelvis hålla listan med funktionsargument synkroniserad mellan deklarationen och definitionen, eller för att uppdatera dokumentationen. För att göra det, placera markören på funktionsnamnet och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gå till deklaration</span></span> (eller tryck på <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>.</strong></span>) för att gå till positionen där funktionen deklareras. Det finns många olika sätt att komma tillbaka till den ursprungliga positionen: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>Välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigering</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gå till definition</span></span> (eller tryck på <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>,</strong></span>). </p></li><li class="listitem"><p>Välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigering</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Föregående besökta sammanhang</span></span> (eller tryck på <span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Vänster</strong></span>), som beskrivs nedan. </p></li></ul></div><p>
</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Att gå till deklarationen av en symbol är något som inte bara fungerar när markören placeras på funktionsnamnet som du för närvarande håller på att implementera. Det fungerar dessutom på andra symboler: Att placera markören på en (lokal, global, eller medlems-) variabel och gå till dess deklaration tar dig också till deklarationens position. På liknande sätt kan du placera markören på ett klassnamn, exempelvis i en variabel- eller funktionsdeklaration, och gå till positionen för dess deklaration.</p></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Byt mellan deklaration och definition</span></span>: I exemplet ovan måste markören först placeras på funktionsnamnet för att gå till positionen för deklarationen av den aktuella funktionen. För att undvika steget, kan du välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Byt definition med deklaration</span></span> (eller tryck på <span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>) för att gå till funktionens deklaration som markören för närvarande befinner sig i. Att välja samma menyalternativ en gång till leder dig tillbaka till positionen där funktionen är definierad. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Föregående/Nästa användning</span></span>: Att placera markören på en lokal variabels namn och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigering</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nästa användning</span></span> (eller trycka på <span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>Högerpil</strong></span>) tar dig till nästa användning av variabeln i koden. (Observera att inte bara söker efter nästa förekomst av variabelnamnet utan tar i själva verket hänsyn till att variabler med samma namn men på olika nivåer är olika.) Samma sak fungerar för användning av funktionsnamn. Att välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigering</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Föregående användning</span></span> (eller trycka på <span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>Vänsterpil</strong></span>) tar dig till föregående användning av symbolen. </p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>För att se listan över alla användningar av ett namn som kommandona går igenom, placera markören på det och öppna verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span> eller tryck och håll nere tangenten <span class="keycap"><strong>Alt</strong></span>. Det förklaras mer detaljerat i avsnittet <a class="link" href="exploring-source-code.html#file-scope-information" title="Information på filnivå">Utforska kod</a>.</p></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Sammanhangslistan</span></span>: Webbläsare har funktionen så att man kan gå bakåt och framåt i listan med senast besökta webbsidor. <span class="application">KDevelop</span> har samma sorts funktioner, utom att istället för webbsidor du besökt är det <span class="emphasis"><em>sammanhang</em></span>. Ett sammanhang är markörens nuvarande plats, och du kan ändra den genom att navigera från den genom att använda vad som helst utom markörkommandon, till exempel genom att klicka på en plats som tillhandahålls av ett verktygstips, i verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodbläddrare</span></span>, ett av alternativen som ges av menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Navigera</span></span>, eller något annat navigeringskommando. Genom att använda <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Föregående besöka sammanhang</span></span> (<span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Vänsterpil</strong></span>) och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Navigera</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nästa besökta sammanhang</span></span> (<span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Högerpil</strong></span>) tar dig till sammanhang precis som knapparna <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">bakåt</span></span> och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">framåt</span></span> i en bläddrare tar dig till föregående eller nästa webbsida  i listan med besökta sidor. </p></li><li class="listitem"><p>Slutligen finns det verktygsvyer som låter dig navigera till olika platser i din kodbas. Verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Klasser</span></span> tillhandahåller exempelvis en lista med namnrymd och klasser för alla projekt i den aktuella sessionen, och låter dig expandera den för att se medlemsfunktioner och variabler i var och en av klasserna: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-17.png"><div class="caption"><p></p></div></div></div><p> Dubbelklicka på objektet (eller gå via den sammanhangsberoende menyn genom att använda höger musknapp), så tillhandahåller verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span> en lista över filer som ingår i en session: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-13.png"><div class="caption"><p></p></div></div></div><p> Återigen, dubbelklicka på en fil öppnar den. </p></li></ul></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="exploring-source-code.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="writing-source-code.html">Nästa</a></td></tr><tr><td class="prevCell">Utforska källkod </td><td class="upCell">Arbeta med källkod</td><td class="nextCell"> Skriva källkod</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="writing-source-code.html"><html><head><title>Skriva källkod</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><link rel="prev" href="navigating-in-source-code.html" title="Navigera i källkod"><link rel="next" href="modes-and-working-sets.html" title="Lägen och arbetsuppsättningar"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Skriva källkod</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="navigating-in-source-code.html">Föregående</a></td><td class="upCell">Arbeta med källkod</td><td class="nextCell"><a accesskey="n" href="modes-and-working-sets.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="writing-source-code"></a>Skriva källkod</h2></div></div></div><p>Eftersom <span class="application">KDevelop</span> förstår projektets källkod, kan det hjälpa till med att skriva mer kod. Det följande ger en översikt av några av de olika sätt som det görs.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="auto-completion"></a>Automatisk komplettering</h3></div></div></div><p>Den troligtvis mest användbara av alla funktioner i att skriva ny kod är automatisk komplettering. Betrakta exempelvis följande stycke kod:</p><pre class="programlisting">class Car {
  // ...
  public:
    std::string get_color () const;
};
void foo()
{
  Car my_ride;
  // ...gör något med variabeln...
  std::string color = my_ride.ge
</pre><p>På den sista raden kommer <span class="application">KDevelop</span> ihåg att variabeln <code class="varname">my_ride</code> har typen <code class="varname">Car</code>, och erbjuder sig att automatiskt komplettera namnet på medlemsfunktionen <code class="varname">ge</code> som <code class="varname">get_color</code>. I själva verket är allt du behöver göra att fortsätta skriva tills funktionen för automatisk komplettering har reducerat antal träffar till en, och sedan trycka på returtangenten:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-42.png"><div class="caption"><p></p></div></div></div><p>Observera att du kan klicka på verktygstipset för att få mer information om funktionen förutom dess returtyp och om den är öppen:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-43.png"><div class="caption"><p></p></div></div></div><p>Automatisk komplettering kan spara mycket skrivande om projektet använder långa variabel- och funktionsnamn. Dessutom undviker det felstavning av namn (och resulterande kompileringsfel) och gör det mycket enklare att komma ihåg de exakta funktionsnamnen. Om exempelvis alla hämtningsfunktioner börjar med <code class="varname">get_</code>, kan funktionen för automatisk komplettering bara visa dig en lista med möjliga hämtningsfunktioner när du har skrivit in de fyra första bokstäverna, vilket troligtvis påminner dig under processen vilken av funktionerna som är den riktiga. Observera att för att automatisk komplettering ska fungera, behöver varken deklarationerna av klassen <code class="varname">Car</code> eller variabeln <code class="varname">my_ride</code> vara i samma fil som du för närvarande skriver kod i. <span class="application">KDevelop</span> behöver enbart veta att klasserna och variablerna hör ihop, dvs. filerna där kopplingen görs måste ingå i projektet som du för närvarande arbetar på.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p><span class="application">KDevelop</span> känner inte alltid till när det ska hjälpa dig med att komplettera kod. Om verktygstipset för automatisk komplettering inte visas automatiskt, tryck på <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Mellanslag</strong></span> för att visa en lista över kompletteringar manuellt. I allmänhet, för att automatisk komplettering ska fungera, måste <span class="application">KDevelop</span> tolka dina källkodsfiler. Det sker i bakgrunden för alla filer som ingår i projekten i den aktuella sessionen efter du startar <span class="application">KDevelop</span>, samt en stund efter du slutar skriva en bråkdels sekund (fördröjningen kan ställas in).</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p><span class="application">KDevelop</span> tolkar bara filer som det anser vara källkod, som bestäms av filens Mime-typ. Typen är inte inställd innan första gången en fil sparas. Som konsekvens, utlöses inte tolkning för automatisk komplettering när en ny fil skapas och man börjar skriva kod i den förrän efter den har sparats för första gången.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Som i föregående anmärkning, för att automatisk komplettering ska fungera måste <span class="application">KDevelop</span> kunna hitta deklarationer i deklarationsfiler. För att göra det, söks ett antal standardsökvägar igenom. Om en deklarationsfil inte hittas automatiskt, stryks namnet på deklarationsfilen under med rött. I detta fall, högerklicka på den för att explicit tala om för <span class="application">KDevelop</span> var filerna och informationen de tillhandahåller kan hittas.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Anpassning av automatisk komplettering beskriv i <a class="link" href="customizing-code-auto-completion.html" title="Automatisk kodkomplettering">det här avsnittet i handboken</a>.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="adding-new-classes-and-implementing-member-functions"></a>Lägga till nya klasser och implementera medlemsfunktioner</h3></div></div></div><p><span class="application">KDevelop</span> har en guide för att lägga till ny klasser. Proceduren beskrivs i <a class="link" href="code-generation-with-templates.html#creating-a-new-class" title="Skapa en ny klass">Skapa en ny klass</a>. En enkel C++ klass kan skapas genom att välja den grundläggande C++ mallen från kategorin <code class="filename">Klass</code>. I guiden kan vi välja några fördefinierade medlemsfunktioner, exempelvis en tom konstruktor, en kopieringskonstruktor och en destruktor. </p><p>Efter att ha gjort färdigt guiden, skapas de nya filerna och öppnas i editorn. Deklarationsfilen har redan inkluderingsskydd och den nya klassen har alla medlemsfunktioner som vi valde. De följande två stegen är att dokumentera klassen och dess medlemsfunktioner och implementera dem. Vi beskriver hjälp att dokumentera klasser och funktioner nedan. För att implementera specialfunktionerna som redan lagts till, gå helt enkelt till fliken <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">bus.cpp</span></span> där skelett för funktionerna redan tillhandahålls:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-30.png"><div class="caption"><p></p></div></div></div><p>För att lägga till nya medlemsfunktioner, gå tillbaka till fliken <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">bus.h</span></span> och lägg till namnet på en funktion. Låt oss exempelvis lägga till det här:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-31.png"><div class="caption"><p></p></div></div></div><p>Observera hur jag redan har börjat med implementeringen. Dock ska inte funktionen implementeras i deklarationsfilen med många kodningsstilar, utan istället i den motsvarande .cpp-filen. För att åstadkomma det, placera markören på funktionsnamnet och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kod</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Flytta till källkod</span></span> eller tryck på <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>S</strong></span>. Det tar bort koden mellan klammerparenteser.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-32.png"><div class="caption"><p></p></div></div></div><p>Observera hur jag precis har börjat skriva och att jag har som avsikt att variabeln <code class="varname">student</code> troligen ska vara en medlemsvariabel i klassen <code class="varname">Bus</code> men att jag inte ännu har lagt till den. Observera också hur <span class="application">KDevelop</span> stryker under den för att klargöra att ingenting är känt om variabeln. Men problemet kan lösas: genom att klicka på variabelnamnet ger följande verktygstips:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-33.png"><div class="caption"><p></p></div></div></div><p>(Samma sak kan åstadkommas genom att högerklicka på det och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Lös: Deklarera som</span></span>.) Låt mig välja <span class="quote">”<span class="quote">3 - privat unsigned int</span>”</span> (antingen med musen eller genom att klicka på <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>3</strong></span>) och sedan se hur det blir i deklarationsfilen:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-34.png"><div class="caption"><p></p></div></div></div><p>Det är värt att nämna att <span class="application">KDevelop</span> extraherar typen på variabeln som ska deklareras från uttrycket som används för att initiera den. Om vi exempelvis hade skrivit additionen på följande något tveksamma sätt, skulle det ha föreslagit att deklarera variabeln som typ <code class="varname">double</code>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-35.png"><div class="caption"><p></p></div></div></div><p>Som en sista punkt: Metoden som används för <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kod</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Flytta till källa</span></span> infogar inte alltid den nya medlemsfunktionen där du vill ha den. Du kanske vill markera den som <code class="varname">inline</code> och placera den längst ner i deklarationsfilen. I ett sådant fall, skriv deklarationen och börja sedan skriva funktionsdefinitionen på följande sätt:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-36.png"><div class="caption"><p></p></div></div></div><p><span class="application">KDevelop</span> erbjuder automatiskt alla möjliga kompletteringar som kan finnas här. Att välja en av de två <code class="varname">add_students</code> posterna resulterar i följande kod som redan har fyllt i den fullständiga argumentlistan:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-37.png"><div class="caption"><p></p></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Att acceptera ett av valen som verktyget för automatisk komplettering erbjuder i exemplet ger korrekt signatur, men tar tyvärr bort markören <code class="varname">inline</code> som redan skrivits in. Det har rapporterats som <a class="ulink" href="https://bugs.kde.org/show_bug.cgi?id=274245" target="_top"><span class="application">KDevelop</span> fel 274245</a>.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="documenting-declarations"></a>Dokumentera deklarationer</h3></div></div></div><p>Bra kod är väldokumenterad, både på nivån av algoritmimplementation inom funktioner samt gränssnittsnivå, dvs. klasser, (globala och medlems-) funktioner, och (globala eller medlems-) variabler måste dokumenteras för att förklara deras avsikt, möjliga argumentvärden, för- och eftervillkor, etc. När det gäller att dokumentera gränssnittet, har <a class="ulink" href="http://www.doxygen.org" target="_top">doxygen</a> blivit de facto standard för att formatera kommentarer som sedan kan extraheras och visas på sökbara webbsidor.</p><p><span class="application">KDevelop</span> stöder den här kommentarstilen genom att tillhandahålla en genväg för att generera kommentarramverket som dokumenterar en klass eller medlemsfunktion. Antag exempelvis att du redan har skrivit följande kod:</p><pre class="programlisting">class Car {
  public:
    std::string get_color () const;
};
</pre><p>
</p><p>Nu vill du lägga till dokumentation för både klassen och medlemsfunktionen. För att åstadkomma det, flytta markören till första raden och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kod</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Dokumentdeklaration</span></span> eller tryck på <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>D</strong></span>. <span class="application">KDevelop</span> svarar med följande:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-23.png"><div class="caption"><p></p></div></div></div><p>Markören är redan i det gråa området så att du kan fylla i den korta beskrivningen av klassen (efter doxygen-nyckelordet <code class="varname">@breif</code>). Därefter kan du fortsätta att lägga till dokumentation i kommentaren som ger en mer detaljerad översikt av vad klassen gör:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-24.png"><div class="caption"><p></p></div></div></div><p>När editorn är inne i kommentaren, markeras kommentartexten med grönt (markeringen försvinner när markören flyttas från kommentaren). När du kommer till radens slut, tryck på returtangenten så påbörjar <span class="application">KDevelop</span> automatiskt en ny rad som börjar med en asterisk och placerar markören indenterad ett tecken.</p><p>Låt oss nu dokumentera medlemsfunktionen, återigen genom att placera markören på deklarationsraden och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kod</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Dokumentdeklaration</span></span> eller trycka på <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>D</strong></span>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-25.png"><div class="caption"><p></p></div></div></div><p>Återigen skapar <span class="application">KDevelop</span> automatiskt ett kommentarmall, inklusive dokumentation av själva funktionen, samt dess returtyp. I det aktuella fallet, är själva funktionens namn rätt självförklarligt, men ofta är funktionsargumenten inte det och bör dokumenteras individuellt. För att åskådliggöra det, låt oss betrakta en något mer intressant funktion och kommentarerna som <span class="application">KDevelop</span> automatiskt genererar:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-26.png"><div class="caption"><p></p></div></div></div><p>Här innehåller den föreslagna kommentaren redan alla Doxygen-fält för de individuella parametrarna, exempelvis.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="renaming-variables-functions-and-classes"></a>Byta namn på variabler, funktioner och klasser</h3></div></div></div><p>Ibland vill man byta namn på en funktion, klass eller variabel. Låt oss exempelvis anta att vi redan har det här:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-38.png"><div class="caption"><p></p></div></div></div><p>Därefter inser vi att vi inte är nöjda med namnet <code class="varname">remove_students</code> och skulle hellre ha kallat det, låt oss säga, <code class="varname">throw_out_students</code>. Vi skulle kunna göra sök-och-ersätt av namnet, men det har två nackdelar:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Funktionen kan användas i mer än en fil. </p></li><li class="listitem"><p>Vi vill egentligen bara byta namn på funktionen och inte röra funktioner som kan ha samma namn men är deklarerade i andra klasser eller namnrymder. </p></li></ul></div><p>Båda problemen kan lösas genom att flytta markören till någon av funktionsnamnets förekomster och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kod</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Byt namn på deklaration</span></span> (eller högerklicka på namnet och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Byt namn Bus::remove_students</span></span>). Det visar en dialogruta där du kan skriva in funktionens nya namn, och där du också kan se alla ställen där funktionen faktiskt används:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-39.png"><div class="caption"><p></p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="code-snippets"></a>Kodsnuttar</h3></div></div></div><p>De flesta projekt har kodavsnitt som man ofta måste skriva i källkoden. Exempel är: en snurra över alla instruktioner för kompilatorer, kontroll att användarinmatning är giltig och om inte visa ett felmeddelande för användargränssnitt. I upphovsmannens projekt för dessa rader, skulle det vara kod som liknar:</p><pre class="programlisting">for (typename Triangulation::active_cell_iterator
       cell = triangulation.begin_active();
     cell != triangulation.end(); ++cell)
  ... gör något med cellen ...
</pre><p>
</p><p>Istället för att skriva in den här sortens text om och om igen (med alla tillhörande skrivfel man åstadkommer) kan verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Textsnuttar</span></span> i <span class="application">KDevelop</span> vara till hjälp. För att göra det, öppna verktygsvyn (se <a class="link" href="working-with-source-code.html#tools-and-views" title="Verktyg och vyer">Verktyg och vyer</a> om motsvarande knapp inte redan finns vid fönstrets omkrets). Klicka sedan på knappen <span class="quote">”<span class="quote">Lägg till arkiv</span>”</span> (en något felaktig beteckning som låter dig skapa en namngiven samling textsnuttar för källkod av en viss sort, t.ex. C++ källkod) och skapa ett tomt arkiv. Klicka sedan på <span class="inlinemediaobject"><img src="Icon-list-add.png"></span> för att lägga till en textsnutt, för att få en dialogruta som den följande:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-40.png"><div class="caption"><p></p></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Namnet på en textsnutt kan inte ha mellanslag eller andra specialtecken eftersom det måste se ut som ett normalt funktions- eller variabelnamn (av orsaker som klargörs i nästa stycke).</p></div><p>För att använda en textsnutt som är definierad på så sätt när du redigerar kod, kan du bara skriva in namnet på textsnutten som du skulle göra med vilket annat funktions- eller variabelnamn. Namnet blir tillgängligt för automatisk komplettering, vilket betyder att det inte skadar att använda ett långt och beskrivande namn på en textsnutt såsom den ovan, och när du accepterar förslaget från verktygstipset för automatisk komplettering (exempelvis genom att bara trycka på returtangenten), ersätts den redan inmatade delen av textsnuttens namn med hela den expanderade textsnutten, och indenteras riktigt:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-41.png"><div class="caption"><p></p></div></div></div><p>Observera att för att det ska fungera behöver inte verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodsnuttar</span></span> vara öppen eller synlig: du behöver bara verktygsvyn för att definiera nya kodsnuttar. Som ett alternativt, mindre bekvämt, sätt att expandera en kodsnutt är att helt enkelt klicka på den i respektive verktygsvy.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Textsnuttar är mycket kraftfullare än som vad just förklarats. För en fullständig beskrivning av vad du kan göra med dem, se <a class="ulink" href="https://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Tool_list/Snippets" target="_top">den detaljerad dokumentationen av verktyget Textsnuttar</a>.</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="navigating-in-source-code.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="modes-and-working-sets.html">Nästa</a></td></tr><tr><td class="prevCell">Navigera i källkod </td><td class="upCell">Arbeta med källkod</td><td class="nextCell"> Lägen och arbetsuppsättningar</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="modes-and-working-sets.html"><html><head><title>Lägen och arbetsuppsättningar</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><link rel="prev" href="writing-source-code.html" title="Skriva källkod"><link rel="next" href="some-useful-keyboard-shortcuts.html" title="Några användbara snabbtangenter"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Lägen och arbetsuppsättningar</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="writing-source-code.html">Föregående</a></td><td class="upCell">Arbeta med källkod</td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="modes-and-working-sets"></a>Lägen och arbetsuppsättningar</h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop4_noworkingset.png"><div class="caption"><p></p></div></div></div><p>Om du har kommit så här långt, ta en titt längst upp till höger i <span class="application">KDevelop</span>s huvudfönster: Som visas i bilden, ser du att det finns tre <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">lägen</span></span> som <span class="application">KDevelop</span> kan vara i: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kod</span></span> (läget som vi beskrivit i det nuvarande kapitlet om att arbeta med källkod), <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Avlusa</span></span> (se <a class="link" href="debugging-programs-in-kdevelop.html" title="Kapitel 7. Avlusa ett program i KDevelop">Avlusa program</a>) och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Granska</span></span> (se <a class="link" href="working-with-version-control-systems.html" title="Kapitel 8. Arbeta med versionskontrollsystem">Arbeta med versionskontrollsystem</a>).</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop4_sessionsprojectsworkingsets.png"><div class="caption"><p></p></div></div></div><p>Varje läge har sin egen uppsättning verktyg som radas upp längs omkretsen, och varje läge har också en <span class="emphasis"><em>arbetsuppsättning</em></span> av filer och dokument som för närvarande är öppna. Dessutom är varje sådan arbetsuppsättning kopplad till en aktuell session, dvs. vi har förhållandet som visas ovan. Observera att filerna i arbetsuppsättningen kommer från samma session, men de kan komma från olika projekt som ingår i samma session.</p><p>Om du öppnar <span class="application">KDevelop</span> för första gången är arbetsuppsättningen tom: Det finns inte några öppna filer. Men medan du öppnar filer för redigering (eller avlusning, eller granskning i de andra lägena) växer arbetsuppsättningen. Det faktum att arbetsuppsättningen inte är tom anges av en symbol i fliken, som visas nedan. Du märker att så snart du stänger <span class="application">KDevelop</span> och senare startar det igen, sparas och återställs arbetsuppsättningen, dvs. du får samma uppsättning öppna filer.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-10.png"><div class="caption"><p></p></div></div></div><p>Om du håller musen över arbetsuppsättningens symbol, får du ett verktygstips som visar vilka filer som för närvarande är öppna i arbetsuppsättningen (här filerna <code class="varname">step-32.cc</code> and <code class="varname">step-1.cc</code>). Att klicka på det röda minustecknet stänger fliken för motsvarande fil. Kanske viktigare, att klicka på motsvarande namngivna knapp låter dig <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">stänga</span></span> hela arbetsuppsättningen på en gång (dvs, stänga alla filer som för närvarande är öppna). Vitsen med att stänga en arbetsuppsättning är dock att det inte bara stänger alla filer, utan faktiskt sparar arbetsuppsättningen och öppnar en ny, fortfarande tom. Du kan se det här:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-11.png"><div class="caption"><p></p></div></div></div><p>Observera att de två symbolerna till vänster om de tre flikarna (hjärtat och den oidentifierbara symbolen till vänster om det). Var och en av de två symbolerna representerar en sparad arbetsuppsättning, förutom den nuvarande öppnade arbetsuppsättningen. Om du håller musen över hjärtsymbolen, får du något som liknar detta:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-12.png"><div class="caption"><p></p></div></div></div><p>Det visar dig att motsvarande arbetsuppsättning innehåller två filer och deras motsvarande projektnamn: <code class="varname">Makefile</code> och <code class="varname">changes.h</code>. Att klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Läs in</span></span> stänger och sparar den aktuella arbetsuppsättningen (som den visas här är filerna <code class="varname">tria.h</code> and <code class="varname">tria.cc</code> öppnade) och istället öppna den valda arbetsuppsättningen. Du kan också ta bort en arbetsuppsättning permanent, vilket tar bort den från de sparade arbetsuppsättningarna.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="writing-source-code.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts.html">Nästa</a></td></tr><tr><td class="prevCell">Skriva källkod </td><td class="upCell">Arbeta med källkod</td><td class="nextCell"> Några användbara snabbtangenter</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="some-useful-keyboard-shortcuts.html"><html><head><title>Några användbara snabbtangenter</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="working-with-source-code.html" title="Kapitel 3. Arbeta med källkod"><link rel="prev" href="modes-and-working-sets.html" title="Lägen och arbetsuppsättningar"><link rel="next" href="code-generation-with-templates.html" title="Kapitel 4. Kodgenerering med mallar"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Några användbara snabbtangenter</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="modes-and-working-sets.html">Föregående</a></td><td class="upCell">Arbeta med källkod</td><td class="nextCell"><a accesskey="n" href="code-generation-with-templates.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="some-useful-keyboard-shortcuts"></a>Några användbara snabbtangenter</h2></div></div></div><p><span class="application">KDevelop</span>s editor följer de vanliga snabbtangenterna för alla vanliga redigeringsåtgärderna. Dock stöder det också ett antal mer avancerade åtgärderna när källkod redigeras, där vissa är kopplade till en viss tangentkombination. De följande är ofta särskilt användbara:</p><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Gå runt i koden</th></tr></thead><tbody><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>O</strong></span></td><td>Snabböppna fil: Ange en del av ett filnamn och välj bland alla filer i den aktuella sessionens projektkatalogträd som matchar strängen. Filen öppnas då.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>C</strong></span></td><td>Snabböppna klass: Ange en del av ett klassnamn och välj bland alla klassnamn som matchar. Markören går då till klassdeklarationen.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>M</strong></span></td><td>Snabböppna funktion: Ange en del av ett (medlems)funktionsnamn och välj bland alla namn som matchar. Observera att listan visar både deklarationer och definitioner och att markören går till det valda objektet</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Q</strong></span></td><td>Generell snabböppning: Skriv in vad som helst (filnamn, klassnamn, funktionsnamn) för att få en lista av allting som  matchar att välja bland</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>N</strong></span></td><td>Översikt: Tillhandahåll en lista över allt som finns i filen, t.ex. klassdeklarationer och funktionsdefinitioner</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>,</strong></span></td><td>Gå till definitionen av en funktion om markören för närvarande befinner sig på en funktionsdeklaration</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>.</strong></span></td><td>Gå till deklarationen av en funktion eller variabel om markören för närvarande befinner sig på en funktionsdefinition</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Page Down</strong></span></td><td>Gå till nästa funktion</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Page Up</strong></span></td><td>Gå till föregående funktion</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>G</strong></span></td><td>Gå till rad</td></tr></tbody></table></div><p>
</p><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Sök och ersätt</th></tr></thead><tbody><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>F</strong></span></td><td>Sök</td></tr><tr><td><span class="keycap"><strong>F3</strong></span></td><td>Sök igen</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span></td><td>Ersätt</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F</strong></span></td><td>Sök och ersätt i flera filer</td></tr></tbody></table></div><p>
</p><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Andra saker</th></tr></thead><tbody><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>_</strong></span></td><td>Dra ihop en nivå: Tar bort blocket från visning, om du till exempel vill fokusera på helheten i en funktion</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>+</strong></span></td><td>Expandera en nivå: ångra sammandragning</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>D</strong></span></td><td>Kommentera bort markerad text eller aktuell rad</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>D</strong></span></td><td>Kommentera i markerad text eller på aktuell rad</td></tr><tr><td><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>D</strong></span></td><td>Dokumentera aktuell funktion. Om markören är på en funktions- eller klassdeklaration skapas en kommentar med doxygen-stil förberedd med en lista över alla parametrar, returvärden, etc. när tangentkombinationen används.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>T</strong></span></td><td>Byt aktuellt och föregående tecken</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>K</strong></span></td><td>Ta bort aktuell rad (observera: det är inte bara <span class="quote">”<span class="quote">ta bort härifrån till radens slut</span>”</span> som i emacs)</td></tr></tbody></table></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="modes-and-working-sets.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="code-generation-with-templates.html">Nästa</a></td></tr><tr><td class="prevCell">Lägen och arbetsuppsättningar </td><td class="upCell">Arbeta med källkod</td><td class="nextCell"> Kodgenerering med mallar</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-projects-from-scratch.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="exploring-source-code.html">Nästa</a></td></tr><tr><td class="prevCell">Skapa projekt från början </td><td class="upCell"> </td><td class="nextCell"> Utforska källkod</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="code-generation-with-templates.html"><html><head><title>Kapitel 4. Kodgenerering med mallar</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="some-useful-keyboard-shortcuts.html" title="Några användbara snabbtangenter"><link rel="next" href="creating-a-new-unit-test.html" title="Skapa en ny enhetstest"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Kodgenerering med mallar</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="creating-a-new-unit-test.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="code-generation-with-templates"></a>Kapitel 4. Kodgenerering med mallar</h1></div></div></div><p><span class="application">KDevelop</span> använder mallar för att generera källkodsfiler och undvika att skriva upprepad kod. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-a-new-class"></a>Skapa en ny klass</h2></div></div></div><p>Den vanligaste användningen av kodgenerering är troligen att skriva nya klasser. För att skapa en ny klass i ett befintligt projekt, högerklicka på ett projektkatalog och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Skapa från mall...</span></span>. Samma dialogruta kan visas från menyn genom att klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Arkiv</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Ny från mall...</span></span>, men använda en projektkatalog har fördelen att ställa in en baswebbadress för utdatafiler. Välj <code class="filename">Klass</code> i vyn för kategorival, och önskat språk och mall i de andra två vyerna. Efter du har valt en klassmall, måste du ange detaljinformation om den nya klassen. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-selection.png"></div></div><p>
</p><p>Först måste du ange en identifierare för den nya klassen. Det kan vara ett enkelt namn (som <code class="varname">Bus</code>) eller en fullständig identifierare med namnrymder (som <code class="varname">Transportation::Bus</code>). I det senare fallet tolkar <span class="application">KDevelop</span> identifieraren och separerar namnrymden från själva namnet. På samma sida kan du lägga till en basklass för den nya klassen. Du kan märka att några mallar väljer en basklass själva, du har full frihet att ta bort den och/eller lägga till andra basklasser. Du bör skriva in det fullständiga arvsatsen här, vilket är språkberoende, såsom <code class="varname">public QObject</code> för C++, <code class="varname">extends SomeClass</code> för PHP eller helt enkelt klassens namn för Python. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-inheritance.png"></div></div><p>
</p><p>På nästa sida erbjuds du ett urval av virtuella metoder från alla ärvda klasser, samt några standardkonstruktorer, destruktorer och operatorer. Att markera kryssrutan intill signaturen för en metod implementerar den metoden i den nya klassen. </p><p>Att klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Nästa</span></span> visar en sida där du kan lägga till medlemmar i en klass. Beroende på den valda mallen, kan de visas i den nya klassen som medlemsvariabler, eller så kan mallen skapa egenskaper med tilldelnings- och hämtningsfunktioner för dem. I ett språk där variabeltyper måste deklareras, såsom C++, måste du ange både typen och namnet på medlemmen, såsom <code class="varname">int number</code> eller <code class="varname">QString name</code>. För andra språk kan du utelämna typen, men det är bra att ange den ändå, eftersom den valda mallen kan dra nytta av det. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-members.png"></div></div><p>
</p><p>På följande sidor kan du välja en licens för den nya klassen, ställa in eventuella egna alternativ som krävs av den valda mallen, och anpassa utdataplatser för alla genererade filer. Genom att klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Slutför</span></span>, avslutas guiden och den nya klassen skapas. De genererade filerna öppnas i editorn, så att du direkt kan börja lägga till kod. </p><p>Efter att ha skapat en ny C++ klass, får du alternativet att lägga till klassen i ett projektmål. Välj ett mål från dialogsidan, eller stäng sidan och lägg till filerna manuellt i ett mål. </p><p>Om du valde mallen <code class="filename">Qt-objekt</code>, markerade några av standardmetoderna, och lade till två medlemsvariabler, ska utmatningen se ut som på följande bild. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-result.png"></div></div><p>
</p><p>Du kan se att datamedlemmar konverteras till Qt-egenskaper, med åtkomstfunktioner och Q_PROPERTY makron. Argument för tilldelningsfunktioner skickas till och med som konstantreferenser där det är lämpligt. Dessutom deklareras en privat klass, och en privat pekare skapas med Q_DECLARE_PRIVATE. Allt det görs av mallen, att välja en annan mall i det första steget kan ändra utdata fullständigt. </p></div><FILENAME filename="creating-a-new-unit-test.html"><html><head><title>Skapa en ny enhetstest</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="code-generation-with-templates.html" title="Kapitel 4. Kodgenerering med mallar"><link rel="prev" href="code-generation-with-templates.html" title="Kapitel 4. Kodgenerering med mallar"><link rel="next" href="other-files.html" title="Andra filer"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Skapa en ny enhetstest</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-generation-with-templates.html">Föregående</a></td><td class="upCell">Kodgenerering med mallar</td><td class="nextCell"><a accesskey="n" href="other-files.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-a-new-unit-test"></a>Skapa en ny enhetstest</h2></div></div></div><p>Även om de flesta testramverk kräver att varje test också är en klass, inkluderar <span class="application">KDevelop</span> en metod för att förenkla att skapa enhetstester. För att skapa en ny test, högerklicka på en projektkatalog och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Skapa från mall...</span></span>. På sida för mallval, välj <code class="filename">Test</code> som kategorin, välj sedan programspråket och mallen och klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Nästa</span></span>. </p><p>Du blir tillfrågad om testnamnet och en lista med testfall. För testfallen behöver du bara specificera en lista med namn. Vissa ramverk för enhetstest, såsom PyUnit och PHPUnit, kräver att testfallen börjar med ett särskilt prefix. I <span class="application">KDevelop</span> är mallen ansvarig för att lägga till prefixet, så du behöver inte använda något för testfallen här. Efter att ha klickat på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Nästa</span></span>, ange licens och utdataplatser för de genererade filerna, så skapas testen. </p><p>Enhetstester skapade på det här sättet läggs inte automatiskt till i något mål. Om du använder CTest eller något annat testramverk, säkerställ att nya filer läggs till i ett mål. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-generation-with-templates.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="other-files.html">Nästa</a></td></tr><tr><td class="prevCell">Kodgenerering med mallar </td><td class="upCell">Kodgenerering med mallar</td><td class="nextCell"> Andra filer</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="other-files.html"><html><head><title>Andra filer</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="code-generation-with-templates.html" title="Kapitel 4. Kodgenerering med mallar"><link rel="prev" href="creating-a-new-unit-test.html" title="Skapa en ny enhetstest"><link rel="next" href="managing-templates.html" title="Hantera mallar"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Andra filer</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-a-new-unit-test.html">Föregående</a></td><td class="upCell">Kodgenerering med mallar</td><td class="nextCell"><a accesskey="n" href="managing-templates.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="other-files"></a>Andra filer</h2></div></div></div><p>Medan klasser och enhetstester får särskild uppmärksamhet när kod genereras från mallar, kan samma metod användas för vilken sorts källkodsfiler som helst. Exempelvis kan man använda en mall för en CMake sökmodul eller en .desktop-fil. Det kan göras genom att välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Skapa från mall...</span></span> och välja önskad kategori och mall. Om den valda kategorin varken är <code class="filename">Class</code> eller <code class="filename">Test</code>, får du bara alternativet att välja licens, eventuella egna alternativ angivna av mallen, och utdatafilens plats. Liksom med klasser och tester, att avsluta guiden genererar filerna och öppnar dem i editorn. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-a-new-unit-test.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="managing-templates.html">Nästa</a></td></tr><tr><td class="prevCell">Skapa en ny enhetstest </td><td class="upCell">Kodgenerering med mallar</td><td class="nextCell"> Hantera mallar</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="managing-templates.html"><html><head><title>Hantera mallar</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="code-generation-with-templates.html" title="Kapitel 4. Kodgenerering med mallar"><link rel="prev" href="other-files.html" title="Andra filer"><link rel="next" href="building-compiling-projects-with-custom-makefiles.html" title="Kapitel 5. Bygga (kompilera) projekt med egen Makefile"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Hantera mallar</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-files.html">Föregående</a></td><td class="upCell">Kodgenerering med mallar</td><td class="nextCell"><a accesskey="n" href="building-compiling-projects-with-custom-makefiles.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="managing-templates"></a>Hantera mallar</h2></div></div></div><p>Från guiden <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Arkiv</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Ny från mall...</span></span>, kan du också ladda ner ytterligare filmallar genom att klicka på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Hämta fler mallar...</span></span>. Det visar dialogrutan Hämta heta nyheter, där du kan installera ytterligare mallar, samt uppdatera eller ta bort dem. Det finns också en inställningsmodul för mallar, som kan nås genom att klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Anpassa <span class="application">KDevelop</span></span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Mallar</span></span>. Härifrån kan du både hantera filmallar (förklarade ovan) och projektmallar (använda för att skapa nya projekt). </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-manager.png"></div></div><p>
</p><p>Om ingen av de tillgängliga mallarna passar ditt projekt, kan du naturligtvis skapa nya. Det enklaste sättet är troligen att kopiera och ändra en befintlig mall, där en kort <a class="ulink" href="https://techbase.kde.org/Development/Tutorials/KDevelop/Creating_a_class_template" target="_top">handledning</a> och ett längre <a class="ulink" href="https://techbase.kde.org/Projects/KDevelop4/File_template_specification" target="_top">specifikationsdokument</a> är tillgängliga som hjälp. För att kopiera en installerad mall, öppna mallhanteraren genom att klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Anpassa KDevelop...</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Mallar</span></span>, välj mallen du vill kopiera, klicka sedan på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Extrahera mall</span></span>. Välj en målkatalog, klicka sedan på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ok</span></span>, så extraheras mallens innehåll till den valda katalogen. Nu kan du redigera mallen genom att öppna de extraherade filerna och ändra dem. När du är klar, kan du importera den nya mallen till <span class="application">KDevelop</span> genom att öppna mallhanterarna, aktivera lämplig flik (antingen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projektmallar</span></span> eller <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Filmallar</span></span>) och klicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Läs in mall</span></span>. Öppna mallbeskrivningfilen, som är den med filändelsen <code class="varname">.kdevtemplate</code> eller <code class="varname">.desktop</code>. <span class="application">KDevelop</span> komprimerar filerna till ett mallarkiv och importerar mallen. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>När en befintlig mall kopieras, säkerställ att du byter namn på den innan den importeras igen. Annars skriver du antingen över den gamla mallen, eller slutar med två mallar med identiska namn. För att byta namn på en mall, ändra beskrivningsfilen till någonting unikt (men behåll filändelsen), och ändra posten <code class="filename">Nam</code> i beskrivningsfilen. </p></div><p>
</p><p>Om du vill skriva en mall från början, kan du starta med ett exempel på en C++ klassmall genom att <a class="link" href="creating-projects-from-scratch.html" title="Skapa projekt från början">skapa ett nytt projekt</a> och välja projektet <code class="filename">C++ klassmall</code> under kategorin <code class="filename">KDevelop</code>. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-files.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="building-compiling-projects-with-custom-makefiles.html">Nästa</a></td></tr><tr><td class="prevCell">Andra filer </td><td class="upCell">Kodgenerering med mallar</td><td class="nextCell"> Bygga (kompilera) projekt med egen Makefile</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="creating-a-new-unit-test.html">Nästa</a></td></tr><tr><td class="prevCell">Några användbara snabbtangenter </td><td class="upCell"> </td><td class="nextCell"> Skapa en ny enhetstest</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="building-compiling-projects-with-custom-makefiles.html"><html><head><title>Kapitel 5. Bygga (kompilera) projekt med egen Makefile</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="managing-templates.html" title="Hantera mallar"><link rel="next" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html" title="Välja en samling mål för en Makefile att bygga upprepade gånger"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Bygga (kompilera) projekt med egen Makefile</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="managing-templates.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="building-compiling-projects-with-custom-makefiles"></a>Kapitel 5. Bygga (kompilera) projekt med egen Makefile</h1></div></div></div><p>Många projekt beskriver hur källkodsfiler ska kompileras (och vilka filer som måste kompileras om när en källkodsfil eller deklarationsfil ändras) genom att använda en Makefile som tolkas av programmet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">make</span></span> (se exempelvis <a class="ulink" href="https://www.gnu.org/software/make/" target="_top">GNU make</a>). För enkla projekt, är det ofta mycket enkelt att skapa en sådan fil för hand. Större projekt integrerar sin Makefile med <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GNU autotools</span></span> (autoconf, autoheader, automake). Låt oss helt enkelt anta i det här avsnittet att du har en Makefile för projektet och vill lära <span class="application">KDevelop</span> hur det ska använda sig av den.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p><span class="application">KDevelop</span> 4.x känner inte till <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GNU autotools</span></span> när det här avsnittet skrevs. Om projektet använder dem, måste du köra <code class="varname">./configure</code> eller något av de andra relaterade kommandona för hand på en kommandorad. Om du vill göra det inne i <span class="application">KDevelop</span>, öppna verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Terminal</span></span> (om det behövs, lägg till det i huvudfönstrets omkrets genom att använda menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fönster</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Lägg till verktygsvy</span></span>), som ger dig ett skalfönster, och kör <code class="varname">./configure</code> från kommandoraden i den vyn.</p></div><p>Det första steget är att lära <span class="application">KDevelop</span> om målen i din Makefile. Det finns två sätt att göra det: välja individuella Makefile-mål, och välja en uppsättning mål som du ofta vill bygga. För båda sätten, öppna verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span> genom att klicka på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span> i omkretsen av <span class="application">KDevelop</span>s huvudfönster (om du inte har knappen, se ovan hur man lägger till knappen för ett verktyg där). Verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span> har två delar: den övre halvan, benämnd <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span>, listar alla projekt och låter dig expandera de underliggande katalogträden, den undre halvan, benämnd <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Byggföljd</span></span>, listar en delmängd av projekten som byggs om du använder menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Projekt</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Bygg valda</span></span> eller tryck på <span class="keycap"><strong>F8</strong></span>. Vi återkommer till den delen nedan.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="building-individual-makefile-targets"></a>Bygga enskilda mål i en Makefile</h2></div></div></div><p>I den övre delen av projektvyn, expandera delträdet för ett projekt, låt oss säga det där du vill köra ett specifikt Makefile-mål. Det ger dig ikoner för (i) kataloger i projektet, (ii) filer i projektets toppnivåkatalog, (iii) Makefile-mål som <span class="application">KDevelop</span> kan identifiera. Kategorierna visas på bilden till höger. Observera att <span class="application">KDevelop</span> <span class="emphasis"><em>förstår</em></span> syntaxen i en Makefile (även om förståelsen har sina begränsningar om målen är sammansatta eller implicita).</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-1a.png"><div class="caption"><p></p></div></div></div><p>För att bygga något av målen som listas här, klicka på det med höger musknapp och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bygg</span></span>. Genom att exempelvis göra det med målet <span class="quote">”<span class="quote">clean</span>”</span> kör helt enkelt <span class="quote">”<span class="quote">make clean</span>”</span>. Du kan se det utföras i delfönstret vid namn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bygg</span></span> som öppnas, där kommandot och utmatningen visas. (Fönstret motsvarar verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bygg</span></span>, så du kan stänga och senare öppna fönstret igen genom att använda verktygsknappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bygg</span></span> i huvudfönstrets omkrets. Den visas längst ner till höger på bilden.)</p></div><FILENAME filename="selecting-a-collection-of-makefile-targets-for-repeated-building.html"><html><head><title>Välja en samling mål för en Makefile att bygga upprepade gånger</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="building-compiling-projects-with-custom-makefiles.html" title="Kapitel 5. Bygga (kompilera) projekt med egen Makefile"><link rel="prev" href="building-compiling-projects-with-custom-makefiles.html" title="Kapitel 5. Bygga (kompilera) projekt med egen Makefile"><link rel="next" href="what-to-do-with-error-messages.html" title="Vad man ska göra med felmeddelanden"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Välja en samling mål för en Makefile att bygga upprepade gånger</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="building-compiling-projects-with-custom-makefiles.html">Föregående</a></td><td class="upCell">Bygga (kompilera) projekt med egen Makefile</td><td class="nextCell"><a accesskey="n" href="what-to-do-with-error-messages.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="selecting-a-collection-of-makefile-targets-for-repeated-building"></a>Välja en samling mål för en Makefile att bygga upprepade gånger</h2></div></div></div><p>Att högerklicka på individuella Makefile-mål varje gång du vill bygga någonting blir snabbt jobbigt. Vi skulle istället vilja ha individuella mål för ett eller flera av projekten i sessionen som vi kan bygga upprepade gånger utan mycket arbete med musen. Det är här konceptet med <span class="quote">”<span class="quote">valda byggmål</span>”</span> kommer in: det är en samling av Makefile-mål som byggs en i taget så fort du trycker på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bygg valda</span></span> i knapplistan längst upp, väljer menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Projekt</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Bygg valda</span></span>, eller trycker på funktionsknappen <span class="keycap"><strong>F8</strong></span>.</p><p>Listan med valda Makefile-mål visas i nedre halvan av verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span>.</p><p>Normalt innehåller valet alla projekt, men du kan ändra det. Om listan över projekt exempelvis innehåller tre projekt (ett basbibliotek L och två program A och B), men du för närvarande bara arbetar på projekt A, kan du vilja ta bort projekt B från urvalet genom att markera det och trycka på knappen <span class="inlinemediaobject"><img src="Icon-list-remove.png"></span>. Dessutom vill du troligen säkerställa att biblioteket L byggs före projekt A genom att flytta posterna i urvalet uppåt eller neråt genom att använda knapparna till höger om listan. Du kan också få ett visst Makefile-mål i urvalet genom att högerklicka på det och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Lägg till i bygguppsättning</span></span>, eller bara markera det och trycka på knappen <span class="inlinemediaobject"><img src="Icon-list-add.png"></span> ovanför listan med valda mål.</p><p><span class="application">KDevelop</span> låter dig ställa in vad som ska göras så fort du bygger markeringen. För att göra det, använd menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Projekt</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Öppna konfiguration</span></span>. Där kan du exempelvis välja antal samtidiga jobb som <span class="quote">”<span class="quote">make</span>”</span> ska köra. Låt oss säga att datorn har åtta processorkärnor: i så fall är det ett lämpligt val att mata in 8 i fältet. I den här dialogrutan är <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Förvalt byggmål</span></span> ett Makefile-mål använt för <span class="emphasis"><em>alla</em></span> mål i markeringen.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="building-compiling-projects-with-custom-makefiles.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="what-to-do-with-error-messages.html">Nästa</a></td></tr><tr><td class="prevCell">Bygga (kompilera) projekt med egen Makefile </td><td class="upCell">Bygga (kompilera) projekt med egen Makefile</td><td class="nextCell"> Vad man ska göra med felmeddelanden</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="what-to-do-with-error-messages.html"><html><head><title>Vad man ska göra med felmeddelanden</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="building-compiling-projects-with-custom-makefiles.html" title="Kapitel 5. Bygga (kompilera) projekt med egen Makefile"><link rel="prev" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html" title="Välja en samling mål för en Makefile att bygga upprepade gånger"><link rel="next" href="running-programs-in-kdevelop.html" title="Kapitel 6. Köra program i KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Vad man ska göra med felmeddelanden</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">Föregående</a></td><td class="upCell">Bygga (kompilera) projekt med egen Makefile</td><td class="nextCell"><a accesskey="n" href="running-programs-in-kdevelop.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="what-to-do-with-error-messages"></a>Vad man ska göra med felmeddelanden</h2></div></div></div><p>Om kompilatorn stöter på ett felmeddelande, klicka helt enkelt på raden med felmeddelandet så går editorn till raden (och om tillgängligt, kolumnen) där felet rapporterades. Beroende på felmeddelandet, kan <span class="application">KDevelop</span> också erbjuda flera möjliga åtgärder för att rätta felet, exempelvis genom att deklarera en tidigare odeklarerad variabel, om en okänd symbol hittades.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="running-programs-in-kdevelop.html">Nästa</a></td></tr><tr><td class="prevCell">Välja en samling mål för en Makefile att bygga upprepade gånger </td><td class="upCell">Bygga (kompilera) projekt med egen Makefile</td><td class="nextCell"> Köra program i <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="managing-templates.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">Nästa</a></td></tr><tr><td class="prevCell">Hantera mallar </td><td class="upCell"> </td><td class="nextCell"> Välja en samling mål för en Makefile att bygga upprepade gånger</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="running-programs-in-kdevelop.html"><html><head><title>Kapitel 6. Köra program i KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="what-to-do-with-error-messages.html" title="Vad man ska göra med felmeddelanden"><link rel="next" href="some-useful-keyboard-shortcuts0.html" title="Några användbara snabbtangenter"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Köra program i <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-to-do-with-error-messages.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts0.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="running-programs-in-kdevelop"></a>Kapitel 6. Köra program i <span class="application">KDevelop</span></h1></div></div></div><p>När du väl har byggt ett program vill du köra det. För att göra det, måste du ställa in <span class="emphasis"><em>Starter</em></span> för dina projekt. En <span class="emphasis"><em>Start</em></span> består av namnet på en körbar fil, en uppsättning kommandoradsparametrar, och en körningsmiljö (såsom <span class="quote">”<span class="quote">kör programmet i ett skal</span>”</span>, eller <span class="quote">”<span class="quote">kör programmet i avlusaren</span>”</span>).</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="setting-up-launches-in-kdevelop"></a>Ställa in start i <span class="application">KDevelop</span></h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-2.png"><div class="caption"><p></p></div></div></div><p>För att ställa in det gå till menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Anpassa starter</span></span>, markera projektet som du vill lägga till en start i, och klicka på knappen <span class="inlinemediaobject"><img src="Icon-list-add.png"></span>. Ange sedan namnet på den körbara filen, och sökvägen där programmet ska köras. Om att köra programmet kräver att det och/eller andra bibliotek först byggs, kan de behöva läggas till i listan längst ner: välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bygg</span></span> i kombinationsmenyn, klicka sedan på symbolen <span class="inlinemediaobject"><img src="Icon-folder.png"></span> till höger om textrutan och välj vilket mål som du vill ska byggas. I exemplet ovan har jag valt målet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">all</span></span> i projektet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>1.deal.II</code></em></span> och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>step-32</code></em></span> i projektet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>1.step-32</code></em></span> för att säkerställa att både basbiblioteket och applikationsprogrammet har kompilerats och är uppdaterade innan programmet faktiskt körs. Medan du är där, kan du lika väl också ställa in en avlusningsstart genom att klicka på symbolen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Avlusa</span></span> och lägga till namnet på avlusningsprogrammet. Om det är systemets förvalda avlusare (t.ex. <span class="application">gdb</span> på <span class="trademark">Linux</span>®) behöver inte steget utföras.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-3.png"><div class="caption"><p></p></div></div></div><p>Nu kan du försöka köra programmet: Välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Kör start</span></span> i <span class="application">KDevelop</span>s meny i huvudfönstret (eller tryck på <span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>F9</strong></span>) så ska programmet köras i ett separat delfönster i <span class="application">KDevelop</span>. Bilden ovan visar resultatet: Det nya delfönstret för verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kör</span></span> längst ner visar utmatningen från programmet som körs, i det här fallet programmet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>step-32</code></em></span>.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Om du har anpassat fler starter, kan du välja vilken som ska köras när du trycker på <span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>F9</strong></span> genom att gå till <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nuvarande startinställning</span></span>. Det finns dock ett mindre uppenbart sätt att redigera namnet på inställningen: dubbelklicka på inställningens namn i trädvyn till vänster i dialogrutan som du får när du väljer <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nuvarande startinställning</span></span>, vilket låter dig redigera inställningens namn.</p></div></div><FILENAME filename="some-useful-keyboard-shortcuts0.html"><html><head><title>Några användbara snabbtangenter</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="running-programs-in-kdevelop.html" title="Kapitel 6. Köra program i KDevelop"><link rel="prev" href="running-programs-in-kdevelop.html" title="Kapitel 6. Köra program i KDevelop"><link rel="next" href="debugging-programs-in-kdevelop.html" title="Kapitel 7. Avlusa ett program i KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Några användbara snabbtangenter</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="running-programs-in-kdevelop.html">Föregående</a></td><td class="upCell">Köra program i <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="debugging-programs-in-kdevelop.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="some-useful-keyboard-shortcuts0"></a>Några användbara snabbtangenter</h2></div></div></div><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Köra ett program</th></tr></thead><tbody><tr><td><span class="keycap"><strong>F8</strong></span></td><td>Bygg (anropa make)</td></tr><tr><td><span class="keycap"><strong>Skift</strong></span>+<span class="keycap"><strong>F9</strong></span></td><td>Kör</td></tr><tr><td><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F9</strong></span></td><td>Kör program i avlusaren. Du kan vilja ställa in brytpunkter innan, exempelvis genom att högerklicka med musen på en viss rad i källkoden.</td></tr></tbody></table></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="running-programs-in-kdevelop.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="debugging-programs-in-kdevelop.html">Nästa</a></td></tr><tr><td class="prevCell">Köra program i <span class="application">KDevelop</span> </td><td class="upCell">Köra program i <span class="application">KDevelop</span></td><td class="nextCell"> Avlusa ett program i <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-to-do-with-error-messages.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts0.html">Nästa</a></td></tr><tr><td class="prevCell">Vad man ska göra med felmeddelanden </td><td class="upCell"> </td><td class="nextCell"> Några användbara snabbtangenter</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="debugging-programs-in-kdevelop.html"><html><head><title>Kapitel 7. Avlusa ett program i KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="some-useful-keyboard-shortcuts0.html" title="Några användbara snabbtangenter"><link rel="next" href="attaching-the-debugger-to-a-running-process.html" title="Ansluter avlusaren till en process som kör"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Avlusa ett program i <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts0.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="attaching-the-debugger-to-a-running-process.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="debugging-programs-in-kdevelop"></a>Kapitel 7. Avlusa ett program i <span class="application">KDevelop</span></h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="running-a-program-in-the-debugger"></a>Köra ett program i avlusaren</h2></div></div></div><p>När du väl har ställt in en start (se <a class="link" href="running-programs-in-kdevelop.html" title="Kapitel 6. Köra program i KDevelop">Köra program</a>), kan du också köra det i en avlusare: Välj menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Avlusa start</span></span>, eller tryck på <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F9</strong></span>. Om du är bekant med <span class="application">gdb</span> är effekten samma som att starta <span class="application">gdb</span> med det körbara programmet angivet i startinställningen och sedan använda <code class="varname">run</code>. Det betyder att om programmet anropar <code class="varname">abort()</code> någonstans (t.ex. när du stöter på en kontroll som misslyckas) eller om ett segmenteringsfel uppstår, stoppar avlusaren. Å andra sidan, om programmet kör klart (vare sig det gör vad det ska eller inte) så stoppar inte avlusaren av sig själv innan programmet avslutas. I det senare fallet, måste du ange en brytpunkt på alla kodrader i din kodbas där du vill att avlusaren ska stoppa innan avlusaren startas. Du kan göra det genom att flytta markören till en sådan rad och välja menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Växla brytpunkt</span></span>, eller högerklicka på en rad och välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Växla brytpunkt</span></span> i den sammanhangsberoende menyn.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-4.png"><div class="caption"><p></p></div></div></div><p>Att köra ett program i avlusaren ändrar läge i <span class="application">KDevelop</span>: det ersätter alla <span class="quote">”<span class="quote">verktygsknappar</span>”</span> längs huvudfönstrets omkrets med sådana som är lämpliga för avlusning, istället för redigering. Du kan se vilket läge som används genom att titta längst upp till höger i fönstret: det finns flikar som kallas <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Granskning</span></span>. <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Avlusning</span></span> och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kod</span></span>. Genom att klicka på dem är det möjligt att byta fram och tillbaka mellan de tre lägena. Varje läge har en uppsättning egna verktygsvyer, som du kan ställa in på samma sätt som vi har ställt in verktygen för <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kod</span></span> i avsnittet <a class="link" href="working-with-source-code.html#tools-and-views" title="Verktyg och vyer">Verktyg och vyer</a>.</p><p>När avlusaren väl stoppar (vid en brytpunkt eller en punkt där <code class="varname">abort()</code> anropas) kan du inspektera en mängd olika information om programmet. På bilden ovan har vi exempelvis valt verktyget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Aktiveringspoststack</span></span> längst ner (som ungefär motsvarar kommandona <span class="quote">”<span class="quote">backtrace</span>”</span> och <span class="quote">”<span class="quote">info threads</span>”</span> i <span class="application">gdb</span>) som visar de olika trådarna som för närvarande kör i programmet till vänster (här är det totalt åtta) och hur körningen har kommit till den aktuella stoppunkten till höger (här: <code class="varname">main()</code> anropade <code class="varname">run()</code>, listan skulle vara längre om vi hade stoppat i en funktion som anropas av <code class="varname">run()</code> själv). Till vänster kan vi inspektera lokala variabler inklusive det aktuella objektet (objektet som pekas ut av variabeln <code class="varname">this</code>).</p><p>Härifrån finns det olika möjligheter som du kan välja: Du kan köra den aktuella raden (<span class="keycap"><strong>F10</strong></span>, kommandot <span class="quote">”<span class="quote">next</span>”</span> i <span class="application">gdb</span>), stega in i funktionen (<span class="keycap"><strong>F11</strong></span>, kommandot <span class="quote">”<span class="quote">step</span>”</span> i <span class="application">gdb</span>), eller köra till funktionens slut (<span class="keycap"><strong>F12</strong></span>, kommandot <span class="quote">”<span class="quote">finish</span>”</span> i <span class="application">gdb</span>). Efter varje steg uppdaterar <span class="application">KDevelop</span> variablerna som visas till vänster till deras aktuella värden. Du kan också hålla musen över en symbol i koden, t.ex. en variabel. Då visar <span class="application">KDevelop</span> symbolens aktuella värde och erbjuder att stoppa programmets körning nästa gång variabelns värde ändras. Om du känner till <span class="application">gdb</span>, kan du också klicka på verktygsknappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GDB</span></span> längst ner, och få möjlighet att skriva in kommandon i <span class="application">gdb</span>, exempelvis för att ändra värdet på en variabel (som inte för närvarande verkar gå att göra på något annat sätt).</p></div><FILENAME filename="attaching-the-debugger-to-a-running-process.html"><html><head><title>Ansluter avlusaren till en process som kör</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="debugging-programs-in-kdevelop.html" title="Kapitel 7. Avlusa ett program i KDevelop"><link rel="prev" href="debugging-programs-in-kdevelop.html" title="Kapitel 7. Avlusa ett program i KDevelop"><link rel="next" href="some-useful-keyboard-shortcuts1.html" title="Några användbara snabbtangenter"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Ansluter avlusaren till en process som kör</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="debugging-programs-in-kdevelop.html">Föregående</a></td><td class="upCell">Avlusa ett program i <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts1.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="attaching-the-debugger-to-a-running-process"></a>Ansluter avlusaren till en process som kör</h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-9.png"><div class="caption"><p></p></div></div></div><p>Ibland vill man avlusa ett program som redan kör. Ett scenario för det är avlusning av parallella program genom att använda <a class="ulink" href="https://computing.llnl.gov/tutorials/mpi/" target="_top">MPI</a>, eller för avlusning av en bakgrundsprocess som kört länge. För att göra det, gå till menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Anslut till process</span></span>, vilket öppnar ett fönster som det ovan. Du måste välja programmet som motsvarar projektet som för närvarande är öppet i <span class="application">KDevelop</span>: i mitt fall är det programmet step-32.</p><p>Listan över program kan vara förvirrande eftersom den ofta är lång som visas här. Du kan göra livet enklare genom att gå till kombinationsrutan längst upp till höger i fönstret. Förvalt värde är <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Användarprocesser</span></span>, dvs. alla program som körs av någon av användarna för närvarande inloggade på datorn (om det är din skrivbordsdator eller bärbara dator, är du troligen den enda sådana användare, förutom root och diverse tjänstkonton). Listan omfattar dock inte processer som körs av användaren root. Du kan begränsa listan genom att antingen välja <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Egna processer</span></span>, vilket tar bort alla program som körs av andra användare. Eller ännu bättre, välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Bara program</span></span>, som tar bort många processorer som formellt kör under ditt namn men som du oftast inte interagerar med, såsom fönsterhanteraren, bakgrundsaktiviteter och så vidare, som är mindre troliga som avlusningskandidater.</p><p>När du väl har valt en process, kommer du till <span class="application">KDevelop</span>s avlusningsläge när du ansluter till den, och alla vanliga verktygsvyer för avlusning öppnas, och programmet stoppas där det råkar vara när du anslöt till det. Därefter kan du ställa in brytpunkter, visningspunkter, eller vad som helst annat som är nödvändigt, och fortsätta köra programmet genom att gå till menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kör</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Fortsätt</span></span>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="debugging-programs-in-kdevelop.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts1.html">Nästa</a></td></tr><tr><td class="prevCell">Avlusa ett program i <span class="application">KDevelop</span> </td><td class="upCell">Avlusa ett program i <span class="application">KDevelop</span></td><td class="nextCell"> Några användbara snabbtangenter</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="some-useful-keyboard-shortcuts1.html"><html><head><title>Några användbara snabbtangenter</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="debugging-programs-in-kdevelop.html" title="Kapitel 7. Avlusa ett program i KDevelop"><link rel="prev" href="attaching-the-debugger-to-a-running-process.html" title="Ansluter avlusaren till en process som kör"><link rel="next" href="working-with-version-control-systems.html" title="Kapitel 8. Arbeta med versionskontrollsystem"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Några användbara snabbtangenter</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="attaching-the-debugger-to-a-running-process.html">Föregående</a></td><td class="upCell">Avlusa ett program i <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="working-with-version-control-systems.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="some-useful-keyboard-shortcuts1"></a>Några användbara snabbtangenter</h2></div></div></div><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Avlusning</th></tr></thead><tbody><tr><td><span class="keycap"><strong>F10</strong></span></td><td>Stega över (<span class="quote">”<span class="quote">next</span>”</span> i gdb)</td></tr><tr><td><span class="keycap"><strong>F11</strong></span></td><td>Stega in i (<span class="quote">”<span class="quote">step</span>”</span> i gdb)</td></tr><tr><td><span class="keycap"><strong>F12</strong></span></td><td>Stega ut ur (<span class="quote">”<span class="quote">finish</span>”</span> i gdb)</td></tr></tbody></table></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="attaching-the-debugger-to-a-running-process.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="working-with-version-control-systems.html">Nästa</a></td></tr><tr><td class="prevCell">Ansluter avlusaren till en process som kör </td><td class="upCell">Avlusa ett program i <span class="application">KDevelop</span></td><td class="nextCell"> Arbeta med versionskontrollsystem</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts0.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="attaching-the-debugger-to-a-running-process.html">Nästa</a></td></tr><tr><td class="prevCell">Några användbara snabbtangenter </td><td class="upCell"> </td><td class="nextCell"> Ansluter avlusaren till en process som kör</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-version-control-systems.html"><html><head><title>Kapitel 8. Arbeta med versionskontrollsystem</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="some-useful-keyboard-shortcuts1.html" title="Några användbara snabbtangenter"><link rel="next" href="customizing-kdevelop.html" title="Kapitel 9. Anpassa KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Arbeta med versionskontrollsystem</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts1.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="customizing-kdevelop.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="working-with-version-control-systems"></a>Kapitel 8. Arbeta med versionskontrollsystem</h1></div></div></div><p>Om du arbetar med större projekt, är det troligt att källkoden hanteras av ett versionskontrollsystem såsom <a class="ulink" href="https://subversion.apache.org/" target="_top">subversion</a> eller <a class="ulink" href="https://git-scm.com/" target="_top">git</a>. Följande beskrivning är skriven med <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">subversion</span></span> i åtanke men är lika relevant om du använder <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">git</span></span> eller något annat versionskontrollsystem som stöds.</p><p>Observera först att om katalogen som ett projekt finns i hanteras av versionskontroll, märker <span class="application">KDevelop</span> det automatiskt. Med andra ord: Det är inte nödvändigt att tala om för <span class="application">KDevelop</span> att själv checka ut en kopia när projektet skapas, det går bra att peka <span class="application">KDevelop</span> på en katalog där du tidigare har checkat ut en kopia från arkivet. Om du har en sådan katalog med versionskontroll, öppna verktygsvyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Projekt</span></span>. Därefter finns det ett antal saker du kan göra:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Om katalogen har blivit föråldrad, kan du uppdatera den från arkivet: Klicka på projektnamnet med höger musknapp, gå till menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span> och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Uppdatera</span></span>. Det uppdaterar alla filer som hör till projektet i förhållande till arkivet. </p></li><li class="listitem"><p>Om du vill begränsa åtgärden till individuella underkataloger eller filer, expandera trädvyn för projektet till nivån du vill och högerklicka på en underkatalog eller ett filnamn, och sedan göra samma sak som ovan. </p></li></ul></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-8.png"><div class="caption"><p></p></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Om du har redigerat en eller flera filer, expandera projektvyn till katalogen där filerna finns och högerklicka på katalogen. Det ger dig menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span> som erbjuder olika alternativ. Välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Jämför med bas</span></span> för att se skillnaderna mellan versionen du har redigerat och versionen i arkivet som du tidigare checkade ut (versionen <span class="quote">”<span class="quote">bas</span>”</span>). Den resulterande vyn visar <span class="quote">”<span class="quote">skillnaderna</span>”</span> för alla filer i katalogen. </p></li><li class="listitem"><p>Om du bara redigerar en enda fil, kan du också få menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span> för filen genom att helt enkelt klicka på det motsvarande filnamnet i projektvyn. Ännu enklare är att bara högerklicka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Editor</span></span>-vyn där filen har öppnats ger också menyalternativet. </p></li><li class="listitem"><p>Om du vill arkivera en eller flera redigerade filer, högerklicka antingen på en individuell fil, underkatalog, eller hela projektet och välj <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Subversion</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Arkivera</span></span>. Det går till läget <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Granska</span></span>, det tredje läget förutom <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kod</span></span> och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Avlusa</span></span> som du kan se i övre högra hörnet i <span class="application">KDevelop</span>s huvudfönster. Bilden till höger visar hur det ser ut. Med <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Granska</span></span>, visar den övre delen skillnaderna i hela underkatalogen eller projektet och varje individuell fil med ändringarna färglagda (se de olika flikarna på den sidan av fönstret). Normalt är alla ändringar i ändringsuppsättningen som ska arkiveras, men du kan avmarkera några av filerna om deras ändringar inte är relaterade till det du vill arkivera. I exemplet till höger har jag exempelvis avmarkerat <code class="varname">step-32.cc</code> och <code class="varname">step-32.prm</code> eftersom ändringarna i dessa filer inte har något att göra med de andra ändringarna jag har gjort i projektet, och jag inte vill arkivera dem ännu (jag kanske vill göra det senare i en separat arkivering). Efter att ha granskat ändringarna kan du skriva in ett arkiveringsmeddelande i textrutan och trycka på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Arkivera</span></span> till höger för att skicka iväg allt. </p></li><li class="listitem"><p>Liksom med att se skillnader, om du vill arkivera en enda fil kan du bara högerklicka på editorfönstret för att få menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Subversion</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Arkivera</span></span>. </p></li></ul></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts1.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="customizing-kdevelop.html">Nästa</a></td></tr><tr><td class="prevCell">Några användbara snabbtangenter </td><td class="upCell"> </td><td class="nextCell"> Anpassa <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="customizing-kdevelop.html"><html><head><title>Kapitel 9. Anpassa KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="working-with-version-control-systems.html" title="Kapitel 8. Arbeta med versionskontrollsystem"><link rel="next" href="customizing-code-indentation.html" title="Anpassa kodindentering"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Anpassa <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-version-control-systems.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="customizing-code-indentation.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="customizing-kdevelop"></a>Kapitel 9. Anpassa <span class="application">KDevelop</span></h1></div></div></div><p>Det finns tillfällen när du vill ändra standardutseendet eller beteendet hos <span class="application">KDevelop</span>, exempelvis eftersom du är van vid andra snabbtangenter eller eftersom projektet kräver en annan indexeringsstil av källkod. I följande avsnitt beskriver vi kortfattat de olika sätt som <span class="application">KDevelop</span> kan anpassas för dessa behov.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-the-editor"></a>Anpassa editorn</h2></div></div></div><p>Det finns ett antal användbara saker man kan anpassa i och omkring <span class="application">KDevelop</span>s inbyggda editor. Av mer generell användning är att sätta på radnumrering genom att använda menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Editor</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Visa</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Visa radnummer</span></span>, vilket gör det enklare att matcha kompilatorfelmeddelanden eller avlusningsmeddelanden med positionen i koden. I samma undermeny kan du också vilja sätta på <span class="emphasis"><em>ikonkant</em></span>: en kolumn till vänster om koden där <span class="application">KDevelop</span> visar ikoner, såsom om det finns en brytpunkt på den aktuella raden.</p></div><FILENAME filename="customizing-code-indentation.html"><html><head><title>Anpassa kodindentering</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="customizing-kdevelop.html" title="Kapitel 9. Anpassa KDevelop"><link rel="prev" href="customizing-kdevelop.html" title="Kapitel 9. Anpassa KDevelop"><link rel="next" href="customizing-keyboard-shortcuts.html" title="Anpassa snabbtangenter"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Anpassa kodindentering</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-kdevelop.html">Föregående</a></td><td class="upCell">Anpassa <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="customizing-keyboard-shortcuts.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-code-indentation"></a>Anpassa kodindentering</h2></div></div></div><p>Många av oss tycker om kod formaterad på ett visst sätt. Många projekt kräver också en viss indenteringsstil. Ingendera kanske motsvarar <span class="application">KDevelop</span>s förvalda indenteringsstil. Det kan dock anpassas: Gå till menyalternativet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Anpassa <span class="application">KDevelop</span></span></span>, klicka sedan på <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Källkodsformatering</span></span> till vänster. Du kan välja en av de fördefinierade indenteringsstilarna med omfattande användning, eller definiera din egen genom att lägga till en ny stil och sedan redigera den. Det kanske inte finns ett sätt att exakt återskapa stilen som projektets källkod har indenterats med i det förgångna, men du kan komma nära genom att använda inställningarna för en ny stil. Ett exempel visas i de två bilderna nedan.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-5.png"><div class="caption"><p></p></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-6.png"><div class="caption"><p></p></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Notera</h3><p>Med <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel"><span class="application">KDevelop</span> 4.2.2</span></span> kan du skapa en ny stil för en viss Mime-typ (t.ex. C++ deklarationsfiler) men stilen visas inte i listan över möjliga stilar för andra Mime-typer (t.ex. för C++ källkodsfiler) även om det naturligtvis skulle vara användbart att använda samma stil för båda filtyperna. Därför måste du definiera varje stil två gånger, en gång för deklarationsfiler och en för källkodsfiler. Det har rapporterats som <a class="ulink" href="https://bugs.kde.org/show_bug.cgi?id=272335" target="_top"><span class="application">KDevelop</span> fel 272335</a>.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-kdevelop.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="customizing-keyboard-shortcuts.html">Nästa</a></td></tr><tr><td class="prevCell">Anpassa <span class="application">KDevelop</span> </td><td class="upCell">Anpassa <span class="application">KDevelop</span></td><td class="nextCell"> Anpassa snabbtangenter</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="customizing-keyboard-shortcuts.html"><html><head><title>Anpassa snabbtangenter</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="customizing-kdevelop.html" title="Kapitel 9. Anpassa KDevelop"><link rel="prev" href="customizing-code-indentation.html" title="Anpassa kodindentering"><link rel="next" href="customizing-code-auto-completion.html" title="Automatisk kodkomplettering"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Anpassa snabbtangenter</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-indentation.html">Föregående</a></td><td class="upCell">Anpassa <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="customizing-code-auto-completion.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-keyboard-shortcuts"></a>Anpassa snabbtangenter</h2></div></div></div><p><span class="application">KDevelop</span> har en nästan gränslös lista över snabbtangenter (några av dem listas i avsnittet <span class="quote">”<span class="quote">Användbara snabbtangenter</span>”</span> i flera kapitel i handboken) som kan ändras enligt tycke och smak med menyn <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Anpassa genvägar</span></span>. Längst upp i dialogrutan kan du skriva in ett sökbegrepp så visas bara de kommandon som matchar. Därefter kan du redigera vilken tangentkombination som är kopplad till kommandot.</p><p>Två som har funnits vara mycket användbara att ändra är att ställa in <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Justera</span></span> till tabulatortangenten (många skriver oftast inte in tabulatortecken för hand och föredrar istället att editorn väljer kodens layout: med den ändrade genvägen indenterar/avindenterar/justerar <span class="application">KDevelop</span> koden när tabulator används). Den andra är att placera <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Växla brytpunkt</span></span> på <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>B</strong></span> eftersom det är en ofta använd åtgärd.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-indentation.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="customizing-code-auto-completion.html">Nästa</a></td></tr><tr><td class="prevCell">Anpassa kodindentering </td><td class="upCell">Anpassa <span class="application">KDevelop</span></td><td class="nextCell"> Automatisk kodkomplettering</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="customizing-code-auto-completion.html"><html><head><title>Automatisk kodkomplettering</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="customizing-kdevelop.html" title="Kapitel 9. Anpassa KDevelop"><link rel="prev" href="customizing-keyboard-shortcuts.html" title="Anpassa snabbtangenter"><link rel="next" href="credits.html" title="Kapitel 10. Tack till och licens"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Automatisk kodkomplettering</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-keyboard-shortcuts.html">Föregående</a></td><td class="upCell">Anpassa <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="credits.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-code-auto-completion"></a>Automatisk kodkomplettering</h2></div></div></div><p>Kodkomplettering beskrivs i <a class="link" href="writing-source-code.html#auto-completion" title="Automatisk komplettering">handbokens avsnitt om att skriva källkod</a>. I <span class="application">KDevelop</span> kommer den från två källor: editorn, och tolkningsgränssnittet. Editorn (<span class="application">Kate</span>) är en komponent i den mer omfattande KDE-miljön och erbjuder automatisk komplettering baserad på ord som den redan har sett i andra delar av samma dokument. Sådan automatisk komprimering kan identifieras i verktygstipset av ikonen som inleder den:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-20.png"><div class="caption"><p></p></div></div></div><p>Editorns kodkomplettering kan anpassas via <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Anpassa editor</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Redigering</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Automatisk komplettering</span></span>. I synnerhet kan du välja hur många tecken som du måste skriva i ett ord innan automatisk komprimering sätter igång.</p><p>Å andra sidan är <span class="application">KDevelop</span>s egen automatiska komplettering mycket kraftfullare eftersom den tar hänsyn till semantisk information om innehållet. Exempelvis vet den vilka medlemsfunktioner som ska erbjudas när du skriver <code class="varname">object.</code>, etc. som visas här:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-42.png"><div class="caption"><p></p></div></div></div><p>Den sammanhangsberoende informationen kommer från diverse insticksprogram för språkstöd, som kan användas efter en given fil har sparats (så att filtypen kan kontrolleras och korrekt språkstöd kan användas).</p><p><span class="application">KDevelop</span>s komplettering är uppsatt för att visas medan du skriver, direkt, nästan överallt där något kan kompletteras på något sätt. Det går att ställa in med <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Inställningar</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Anpassa <span class="application">KDevelop</span></span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Språkstöd</span></span>. Om det inte redan är aktiverat (vilket det bör vara, som förval), säkerställ att <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Aktivera automatisk start</span></span> är aktiverat.</p><p><span class="application">KDevelop</span> har två sätt att visa en komplettering: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Minimal automatisk komplettering</span></span> visar bara den grundläggande information i verktygstips för komplettering (dvs. namnrymden, klass, funktion, eller variabelnamn). Det ser liknande ut som komplettering i <span class="application">Kate</span> (utom för ikonerna).</p><p>Å andra sidan, visar <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Fullständig komplettering</span></span> dessutom typen för varje post, och i fallet med funktioner, också argumenten de har. Förutom det, om du för närvarande håller på att fylla i argumenten för en funktion, har fullständig komplettering ytterligare en informationsruta ovanför markören som visar dig det aktuella argumentet som du arbetar på.</p><p><span class="application">KDevelop</span>s kodkomplettering ska också placera alla kompletteringsobjekt som matchar den aktuella förväntade typen i både minimal och fullständig komplettering överst och färglägga dem med grönt, känt som <span class="quote">”<span class="quote">bästa träffar</span>”</span>.</p><p>De tre möjliga val för kompletteringsnivå i inställningsdialogen är:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Alltid minimal komplettering</span></span>: Visa aldrig <span class="quote">”<span class="quote">Fullständig komplettering</span>”</span> </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Minimal automatisk komplettering</span></span>: Visa bara <span class="quote">”<span class="quote">Fullständig komplettering</span>”</span> när automatisk komplettering har utlösts manuellt (dvs. när du trycker på <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Mellanslag</strong></span>). </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Alltid fullständig komplettering</span></span>: Visa alltid <span class="quote">”<span class="quote">Fullständig komplettering</span>”</span> </p></li></ul></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-keyboard-shortcuts.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Nästa</a></td></tr><tr><td class="prevCell">Anpassa snabbtangenter </td><td class="upCell">Anpassa <span class="application">KDevelop</span></td><td class="nextCell"> Tack till och licens</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-version-control-systems.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="customizing-code-indentation.html">Nästa</a></td></tr><tr><td class="prevCell">Arbeta med versionskontrollsystem </td><td class="upCell"> </td><td class="nextCell"> Anpassa kodindentering</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Kapitel 10. Tack till och licens</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, utveckling, programmering"><link rel="home" href="index.html" title="Handbok KDevelop"><link rel="up" href="index.html" title="Handbok KDevelop"><link rel="prev" href="customizing-code-auto-completion.html" title="Automatisk kodkomplettering"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Tack till och licens</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-auto-completion.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="credits"></a>Kapitel 10. Tack till och licens</h1></div></div></div><p>Dokumentation Copyright, se användarbasens <a class="ulink" href="https://userbase.kde.org/index.php?title=KDevelop4/Manual&amp;action=history" target="_top">KDevelop4/Manual sidhistorik</a></p><p>Översättning Stefan Asserhäll <code class="email">(stefan.asserhall AT bredband.net)</code></p><p><a name="gnu-fdl"></a>Den här dokumentationen licensieras under villkoren i <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation
License</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-auto-completion.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Automatisk kodkomplettering </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="what-is-kdevelop.html">Nästa</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Vad är <span class="application">KDevelop</span>?</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Mon Jun 24 14:39:06 CEST 2024.