Spring naar inhoud

Ingebouwd


Kate bouwen vanaf de broncode in Linux

Op dit moment is de broncode van Kate gelokaliseerd op het Gitlab exemplaar invent.kde.org. Deze handleiding legt uit hoe Kate te bouwen zonder uw globale installatie te beïnvloeden.

Alles zal gedaan worden in een extra ontwikkelmap. Dit vermijdt de noodzaak voor rechten als beheerder en biedt altijd het terugvallen om de globaal geïnstalleerde Kate te gebruiken als de nu gebouwde versie fout is.

Omdat deze handleiding een opzet zal introduceren die ook het ontwikkelen van andere delen van de KDE software stack biedt, zullen we het in het volgende hebben over het opzetten van een KDE ontwikkelomgeving. vereiste KDE Frameworks zullen gecompileerd worden naast de delen van de Kate toepassing. Dit vergemakkelijkt bijdragen aan alle niveaus van de KDE software stack.

Kies uw Kate & KDE ontwikkelmap

Kies zelf enige paden waar alle Kate & KDE ontwikkelingszaken zouden eindigen. Naast configuratiebestanden van de lokale gebruiker, niets buiten deze map zal bevuild raken. U kunt deze voor ontwikkeling van elk deel van de KDE software stack hergebruiken.

Voor het overblijvende delen van deze beschrijving gebruiken we

~/projects/kde

Voel u vrij om deze aan te passen.

Kdesrc-build installeren

Installeren is meer of minder gewoon de huidige versie klonen

mkdir -p ~/projects/kde/src
cd ~/projects/kde/src
git clone https://invent.kde.org/sdk/kdesrc-build.git

Voor later gemak bij gebruik is het het beste een symbolische koppeling te maken naar het kdesrc-build script naar een map in uw pad, bijv. als u een lokale bin van een gebruiker hebt:

ln -s ~/projects/kde/src/kdesrc-build/kdesrc-build ~/bin

kdesrc-build configureren

kdesrc-build heeft een opzetfase die zaken voor u kan configureren, zie deze introductie.

Hier tonen we eenvoudig een ~/.config/kdesrc-buildrc die goed genoeg is voor wat nodig is voor ontwikkelen met Kate.

U kunt de onderstaande variant gewoon kopiëren en plakken in uw thuismap als ~/.config/kdesrc-buildrc en de paden aan uw behoeften aanpassen. Als u blijft met het pad ~/projects/kde wat we boven deden, dan zou dit 1:1 bruikbaar moeten zijn.

global
    # gebruik de laatste op KF6 en Qt6 gebaseerde software.
    branch-group kf6-qt6

    # we willen .kateproject bestanden met ninja, draai enige Qt 5 zaken uit om minder
    # afhankelijkheden te hebben
    cmake-options -G "Kate - Ninja" -DBUILD_WITH_QT6=ON -DQT_MAJOR_VERSION=6 -DPHONON_BUILD_QT5=OFF -DBUILD_QT5=OFF

    # clangd hulpmiddelen
    compile-commands-export yes
    compile-commands-linking yes

    # vlakke structuur
    directory-layout flat

    # Installatiemap voor KDE software
    install-dir ~/projects/kde/usr

    # Map voor gedownloade broncode
    source-dir ~/projects/kde/src

    # Map om KDE in te bouwen voor installeren relatief tot standaard bronmap
    build-dir ~/projects/kde/build
end global

include ${module-definitions-dir}/kf6-qt6.ksb

De belangrijke regels om een goede ervaring te hebben bij het ontwikkelen van Kate (of andere KDE zaken) met Kate zijn onderstaand in detail beschreven.

.kateproject bestanden aanmaken

# we willen .kateproject bestanden met ninja
cmake-options -G "Kate - Ninja"

Dit verzekert u dat u niet alleen Ninja bouwbestanden krijgt (handig omdat dit bijv. automatisch meerdere kernen voor compileren zal gebruiken) maar ook bovendien .kateproject bestanden binnen de bouwmappen voor later gebruikt. Met deze bestanden, zal de projectplug-in van Kate weten wat te doen, bijv. waar de bronmap voor het compileren is en welke bouwcommando's het zou gebruiken voor de bouwplug-in.

Ga na dat LSP integratie werkt

# clangd hulpmiddelen
compile-commands-export yes
compile-commands-linking yes

Dit verzekert dat CMake de compile_commands.json bestanden zal genereren die vereist zijn voor op clangd gebaseerde LSP integratie. Naast gewoon ze te genereren in de bouwmap zal de koppelingsoptie een symbolische koppeling teug maken naar uw bronmappen. Dit biedt nul-configuratie gebruik van de LSP-plug-in in Kate (en andere bewerkers).

Benodigde afhankelijkheden installeren (optioneel)

kdesrc-build levert enig initiële opzetmodi om de nodige pakketten voor verschillende algemene distributies te installeren om ontwikkeling te starten. Dit is behulpzaam als u niet zeker bent of alle nodige ontwikkelingspakketten geïnstalleerd zijn op uw systeem en u wilt hier zelf handmatig voor zorgen. Omdat dit zal proberen pakketten te installeren voor uw distributie, deze stap zal beheersrechten voor de pakketinstallatie vereisen. Om dat te doen, start gewoon:

kdesrc-build --initial-setup

We hebben een .config/kdesrc-buildrc al aangemaakt, die verder onaangeraakt wordt. Voor het verdere gebruik hoeft u ook niet uw instellingen voor de shell te wijzigen.

Kate & afhankelijkheden bouwen

Om een compilatie van Kate en alle benodigde KDE afhankelijkheden te starten typ nu eenvoudig:

kdesrc-build --include-dependencies kate

Dat neemt een paar minuten op een recente machine. Tijd om een koffie te nemen of te denken over wat u echt wilt implementeren.

Zo lang als de KF 6 versie van uw afhankelijkheden niet is gebundeld met uw distributie, kan het zinvol zijn om nog wat meer delen te bouwen om betere styling te hebben en en terminalintegratie:

kdesrc-build --include-dependencies breeze plasma-integration kwayland-integration konsole kate

Als u alleen Kate wilt bouwen zonder de afhankelijkheden, omdat u zeker weet dat u genoeg recente zaken op uw systeem hebt, kunt u proberen:

kdesrc-build --no-include-dependencies kate

Maar gegeven dat op moderne machines de compileertijden laag zijn, is het gemakkelijker om gewoon alle zaken te bouwen, dat verzekert u dat u bijv. de laatste en ook beste KSyntaxHighlighting en KTextEditor frameworks ter beschikking hebt!

Gegeven deze opzet, bent u vrij om alle KDE software delen te bouwen met een eenvoudige:

kdesrc-build

Bedenk: dat het enige tijd zal vergen (en schijfruimte).

Als u tijdens de bouw you enige mislukkingen ziet getoond met een rood lettertype, volg dan deze handleiding - Hoe bouwproblemen oplossen

Hoe de gebouwde zaken gebruiken?

Om uw lokale Kate versie te starten moet u eerst de omgeving juist opzetten om er zeker van te zijn dat de juiste plug-ins en zaken zijn geladen. Gelukkig is dat er eenvoudig:

source ~/projects/kde/build/kate/prefix.sh
kate

Een handige manier om dit in te pakken is om bijv. een klein inpakscript te maken om uw hoofdbranchversie van Kate in uw lokale bin map te starten:

#!/bin/bash
source ~/projects/kde/build/kate/prefix.sh
exec kate "$@"

Houd uw zaken bijgewerkt

Om uw lokale versie bijgewerkt te houden, kunt u gewoon de bovenstaande commando's opnieuw gebruiken. Ze zullen zorgen voor ophalen van nieuwe wijzigingen uit de KDE-opslagruimten en ze bouwen/installeren in uw lokale prefix.

Ontwikkelen!

De overgebleven vraag is: Hoe het beste te ontwikkelen?

Als u natuurlijk Kate wil hacken, kan het zinvol zijn om Kate daarvoor te gebruiken.

Gegeven de bovenstaande voorbereidingen, die gemakkelijk zijn te doen, start gewoon uw nieuwe masterversie van Kate en geef het de bouwmap door:

kate ~/projects/kde/build/kate

Als alternatief, kunt u daar naar navigeren in uw terminal en Kate vandaar opstarten, het zal het automatisch openen:

cd ~/projects/kde/build/kate
kate

Om de beste ervaring hiermee te hebben, verzeker dat u minstens project & LSP-plug-in hebt ingeschakeld. als u enige GUI bouwintegratie wilt hebben, activeer dan ook de bouwplug-in.

U zult eindigen met nieuwe Kate-vensters zoals onderstaand getoond.

In de onderste hulpmiddelweergave "Huidige project" hebt u standaard twee terminals. De eerste terminal is in uw bouwmap, hier kunt u bijv. uw ninja en ninja installatie commando's en zoiets uitvoeren. De tweede terminal is in uw bronmap, perfect voor bijv. git opdrachtregel aanroepen.

Gegeven de bovenstaande opzet zou de LSP-plug-in (als u clangd hebt geïnstalleerd) direct moeten werken.

Andere handige zaken zoals projectbreed snel openen, zoeken & vervangen en juist gebouwde doelen zouden ook in het opzetten zitten.

Bijdragen als tegenprestatie!

Voel u vrij om een merge-verzoek op invent.kde.org te doen. Voor meer informatie zie Doe mee.

Ondersteuning krijgen?

Als u vragen hebt dan kunt u die stellen op onze e-maillijst kwrite-devel@kde.org en/of meedoen in #kate op irc.libera.chat.

Voor meer informatie zie Hulp ophalen.

Kate bouwen vanaf de broncode onder Windows

Om de op KF5 gebaseerde Kate/KWrite te bouwen kunt u de gids op KDE op Windows volgen.

Kate bouwen vanaf de broncode onder macOS

Om de op KF5 gebaseerde Kate/KWrite te bouwen kunt u de gids op KDE op macOS volgen.