Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander...
Transcript of Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander...
![Page 1: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/1.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
Accomplishments and Challenges of KDevelop Team
![Page 2: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/2.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We understand your C++
since 2002
![Page 3: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/3.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We understand your C++
![Page 4: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/4.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We understand your C++
![Page 5: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/5.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We understand your buildsystem
Auto Hell Tools?qmake?cmake?make?
whatever else?
![Page 6: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/6.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We do support KDE4 development
How?
http://www.kdedevelopers.org/node/2286
Thanks to Andras Mantia
![Page 7: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/7.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We do support KDE4 development
cmake -G KDevelop3
ok, ok
cmake -DCMAKE_INSTALL_PREFIX=path_to_kde4_install_dir -DCMAKE_BUILD_TYPE=debugfull path_to_source_dir
-DKDE4_BUILD_TESTS -G KDevelop3
Thanks to Alex Neundorffor CMake generator
![Page 8: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/8.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We do support KDE4 development
![Page 9: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/9.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We do support KDE4 development
Some environment vars to setQTDIR=<your qt dir>
KDEDIR=<your kde4 dir>KDE4_DIR=<your kde4 dir>
PATH=$QTDIR/bin:$KDEDIR/bin:$PATH
![Page 10: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/10.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We do support KDE4 development
Some more environment vars to set
KDEHOME=path_to_local_KDE4 folder (/home/user/.kde4) KDETMP=path_to_KDE4 temp dir (/tmp/user-kde4)
KDEVARTMP=similar to the above in /var (/var/tmp/user-kde4)
Don't forget abouteval ̀ dbus-launch --auto-syntax̀
![Page 11: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/11.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
More cool stuff: Ruby Debugger
![Page 12: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/12.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
We still suck
not as easy
not as complete
not as slick
![Page 13: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/13.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
Rock on!
KDevelop4
![Page 14: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/14.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
KDevelop 4
Cleaner architecturePowerful platform
Speaking the languages nativelyNative CMake support
Teamwork
![Page 15: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/15.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
KDevelop 4: C++
Lexer Parser Binder
Token Stream AST Code Model
DU-Chain Builder
DU Chain
Syntax Checker Class TreeCode Completion
Smart Highlighting
Refactoring?
![Page 16: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/16.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
KDevelop: C++: Definition-Use
![Page 17: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/17.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
Speaking C#, Java, Ruby, etc.
Not so crazy to implement all these manuallyCrazy enough to use a tool
![Page 18: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/18.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
kdev-pg: not only the parser generator
-- test.g
%token ID ("identifier") ;;
identifier + identifier-> expression ;;
ID-> identifier ;;
#kdev-pg –output=test test.g
test_ast.htest_default_visitor.cpp test_default_visitor.h test_parser.cpptest_parser.htest_visitor.cpptest_visitor.h
![Page 19: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/19.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
kdev-pg: not only the parser generator
struct ast_node { enum ast_node_kind_enum { Kind_expression = 1000, Kind_identifier = 1001, AST_NODE_KIND_COUNT }; int kind; std::size_t start_token; std::size_t end_token; }; struct expression_ast: public ast_node { enum { KIND = Kind_expression }; }; struct identifier_ast: public ast_node { enum { KIND = Kind_identifier }; };
class visitor {public: virtual void visit_node(ast_node *node) {} virtual void visit_expression(expression_ast *) {} virtual void visit_identifier(identifier_ast *) {}};
![Page 20: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/20.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
CMake
Bringing it to the next levelHow to interoperate with CMake?
![Page 21: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/21.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
Teamwork Mode
Client/ServerFile Collaboration
ConversationPatch Management
![Page 22: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/22.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
The next step is WORLD DOMINATION
![Page 23: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/23.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
The next step is WORLD DOMINATION
![Page 24: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/24.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
The next step is WORLD DOMINATION
2005
-08
2005
-09
2005
-10
2005
-11
2005
-12
2006
-01
2006
-02
2006
-03
2006
-04
2006
-05
2006
-06
2006
-07
2006
-08
2006
-09
0
25
50
75
100
125
150
175
200
225
250
275KDevelop 3.4 and 4.0 commit rate
![Page 25: Sebastian Kügler , FrOSCon 2006 … · 2020-02-10 · Sebastian Kügler , FrOSCon 2006 Alexander Dymo , aKademy](https://reader033.fdocuments.us/reader033/viewer/2022053002/5f0648e17e708231d4173923/html5/thumbnails/25.jpg)
Sebastian Kügler <[email protected]>,
FrOSCon 2006
Alexander Dymo <[email protected]>, aKademy 2006
Join us NOW!
Thanks andany questions?