SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
Poznaj lepiej swoje środowisko programistyczne
i zwiększ swoją produktywność z IntelliJ Idea
Marcin Stachniuk
mstachniuk@gmail.com
http://mstachniuk.blogspot.com
18 stycznia 2015
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 1/43
O mnie
Marcin Stachniuk
Chorąży na chamberconf.pl
Kontakt: mstachniuk@gmail.com
Blog: mstachniuk.blogspot.com
Twitter: @MarcinStachniuk
Recenzent: practicalunittesting.com
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 2/43
Agenda
1 Zasady
2 Warsztat
3 Trick & Tips
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 3/43
Agenda
1 Zasady
2 Warsztat
3 Trick & Tips
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 4/43
Ogólne zasady
Zasady:
Będziemy robić Coding Dojo
podczas którego będziemy implementować Katę
Skupiamy się na nieużywaniu myszki
czyli na skrótach klawiaturowych
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
Ogólne zasady
Zasady:
Będziemy robić Coding Dojo
podczas którego będziemy implementować Katę
Skupiamy się na nieużywaniu myszki
czyli na skrótach klawiaturowych
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
Ogólne zasady
Zasady:
Będziemy robić Coding Dojo
podczas którego będziemy implementować Katę
Skupiamy się na nieużywaniu myszki
czyli na skrótach klawiaturowych
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
Ogólne zasady
Zasady:
Będziemy robić Coding Dojo
podczas którego będziemy implementować Katę
Skupiamy się na nieużywaniu myszki
czyli na skrótach klawiaturowych
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
Ogólne zasady
Zasady:
Będziemy robić Coding Dojo
podczas którego będziemy implementować Katę
Skupiamy się na nieużywaniu myszki
czyli na skrótach klawiaturowych
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
Zasady Coding Dojo cz. 1
Coding Dojo:
Dwie osoby siedzą przy komputerze
i implementują wspólnie zadanie
Po 5. minutach zmiana jednego uczestnika
i po kolejnych 5. minutach następuje zmiana kolejnego
uczestnika
Nikt nie siedzi przy komputerze dłużej niż 10 minut
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
Zasady Coding Dojo cz. 1
Coding Dojo:
Dwie osoby siedzą przy komputerze
i implementują wspólnie zadanie
Po 5. minutach zmiana jednego uczestnika
i po kolejnych 5. minutach następuje zmiana kolejnego
uczestnika
Nikt nie siedzi przy komputerze dłużej niż 10 minut
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
Zasady Coding Dojo cz. 1
Coding Dojo:
Dwie osoby siedzą przy komputerze
i implementują wspólnie zadanie
Po 5. minutach zmiana jednego uczestnika
i po kolejnych 5. minutach następuje zmiana kolejnego
uczestnika
Nikt nie siedzi przy komputerze dłużej niż 10 minut
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
Zasady Coding Dojo cz. 1
Coding Dojo:
Dwie osoby siedzą przy komputerze
i implementują wspólnie zadanie
Po 5. minutach zmiana jednego uczestnika
i po kolejnych 5. minutach następuje zmiana kolejnego
uczestnika
Nikt nie siedzi przy komputerze dłużej niż 10 minut
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
Zasady Coding Dojo cz. 1
Coding Dojo:
Dwie osoby siedzą przy komputerze
i implementują wspólnie zadanie
Po 5. minutach zmiana jednego uczestnika
i po kolejnych 5. minutach następuje zmiana kolejnego
uczestnika
Nikt nie siedzi przy komputerze dłużej niż 10 minut
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
Zasady Coding Dojo cz. 1
Coding Dojo:
Dwie osoby siedzą przy komputerze
i implementują wspólnie zadanie
Po 5. minutach zmiana jednego uczestnika
i po kolejnych 5. minutach następuje zmiana kolejnego
uczestnika
Nikt nie siedzi przy komputerze dłużej niż 10 minut
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
CodingDojo
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 7/43
Zasady Coding Dojo cz. 2
Coding Dojo:
Osoby przy komputerze rozmawiają na temat
implementowanego rozwiązania
i wykonują sugestie prowadzącego
Poza programistami i prowadzącym nikt nie ma prawa głosu!
chyba że prowadzący pozwoli ;-)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
Zasady Coding Dojo cz. 2
Coding Dojo:
Osoby przy komputerze rozmawiają na temat
implementowanego rozwiązania
i wykonują sugestie prowadzącego
Poza programistami i prowadzącym nikt nie ma prawa głosu!
chyba że prowadzący pozwoli ;-)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
Zasady Coding Dojo cz. 2
Coding Dojo:
Osoby przy komputerze rozmawiają na temat
implementowanego rozwiązania
i wykonują sugestie prowadzącego
Poza programistami i prowadzącym nikt nie ma prawa głosu!
chyba że prowadzący pozwoli ;-)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
Zasady Coding Dojo cz. 2
Coding Dojo:
Osoby przy komputerze rozmawiają na temat
implementowanego rozwiązania
i wykonują sugestie prowadzącego
Poza programistami i prowadzącym nikt nie ma prawa głosu!
chyba że prowadzący pozwoli ;-)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
Zasady Coding Dojo cz. 2
Coding Dojo:
Osoby przy komputerze rozmawiają na temat
implementowanego rozwiązania
i wykonują sugestie prowadzącego
Poza programistami i prowadzącym nikt nie ma prawa głosu!
chyba że prowadzący pozwoli ;-)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
Agenda
1 Zasady
2 Warsztat
3 Trick & Tips
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 9/43
Start
No to zaczynamy!
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 10/43
Agenda
1 Zasady
2 Warsztat
3 Trick & Tips
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 11/43
Nawigacja po środowisku
Alt + numerki
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 12/43
Nawigacja po środowisku
Alt + numerki
Dwukrotne naciśnięcie tej samej kombinacji powoduje zamknięcie
okna!
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 13/43
Nawigacja po środowisku
Skakanie pomiędzy oknami
Esc Skok do kodu
Shift + Esc Zamknięcie okna i skok do kodu
Ctrl + Shift + F12 Zmaksymalizowanie okna z kodem
F12 Skok od ostatniego okna (z okna kodu)
Enter
Otwarcie wybranego pliku (z okna Pro-
ject)
F4
Otwarcie i skok do wybranego pliku (z
okna Project)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 14/43
Zmiana rozmiaru okien
Ctrl + Shift + Lewo/Prawo
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 15/43
Zmiana rozmiaru okien
Ctrl + Shift + Dół/Góra
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 16/43
Ustawienia Tabek z plikami
Jeśli nie potrzebujesz ich, wyłącz je!
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 17/43
Ustawienia Tabek z plikami
Zamiast tego skacz do pliku za pomocą:
Ctrl + E Skok do pliku lub okien
Ctrl + Shift + Tab skok do pozostałych okien / plikow
Ctrl + Tab skok do ostatniego pliku
Ctrl + Shift + E skok do ostatnio edytowanych plików
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 18/43
Ustawienia Navigation Bar
Jak potrzebujesz dużo miejsca na kod, to możesz ukryć
Navigation Bar (View -> Navigation Bar)
Ukrywa on niestety ostatnią uruchamianą konfigurację.
Navigation Bar i tak jest zawsze dostępny za pomocą:
Alt + Home
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 19/43
Refaktoring
Ctrl + Alt +
M Extract Method
V Extract Variable
F Extract Field
C Extract Constant
P Extract Parameter
N Inline
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 20/43
CamelHumps
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 21/43
Surround selection on typing quote or brace
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 22/43
Show Line Numbers
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 23/43
Quick List
Warto zdefiniować swoją listę często używanych funkcji
i podpiąć ją pod skrót klawiaturowy (np. Ctrl + Alt + /):
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 24/43
Edycja kodu
Ctrl + C Kopiuje całą linię
Ctrl + D Duplikuje całą linię
Shift + Enter Wstawia nową linię poniżej
Ctrl + Alt + Enter Wstawia nową linię powyżej
Ctrl + Y Usunięcie linii
Ctrl + Shift + Enter Uzupełnia linię i wstawia nową
Alt + Shift + Góra/Dół Przesuwanie linii w górę / dół
Ctrl + Shift + Góra/Dół
Inteligentne przesuwanie linii w
górę / dół
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 25/43
Edycja kodu
Live Templates
Ctrl + J Wstawianie Live Template
Ctrl + Alt + J Otocz Live Template
St<Tab> String
iter<Tab> Iteracja w stylu JDK 1.5 (foreach)
psf <Tab> public static final
psfs<Tab> public static final String
psfi<Tab> public static final int
sout<Tab> System.out.println();
serr<Tab> System.err.println();
psvm<Tab> public static void main(...){...}
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 26/43
Edycja kodu
Live Templates – warto definiować swoje
Settings − > Live Templates
1: @org.junit.Test
2: public void should$NAME$() {
3: // given
4: $END$
5:
6: // when
7:
8: // then
9: }
http://monkeyisland.pl/2009/12/07/given-when-then-forever/
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 27/43
Edycja kodu
Postfix Code Completion
Settings -> Editor -> Postfix Templates
http://blog.jetbrains.com/idea/2014/03/postfix-completion/
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 28/43
Otwarcie pliku (lub czegoś innego) w innym widoku
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 29/43
Duplicate lines
aaa
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 30/43
Duplicate lines
http://mstachniuk.blogspot.com/2015/01/duplikowanie-bloku-kodu-w-intellij-idea.html
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 31/43
Widok zależności z poprawnym zakresem
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 32/43
A jak to wszystko zapamiętać?
A jak to wszystko zapamiętać?
ćwiczyć
ćwiczyć
ćwiczyć
Key Promoter Plugin
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
A jak to wszystko zapamiętać?
A jak to wszystko zapamiętać?
ćwiczyć
ćwiczyć
ćwiczyć
Key Promoter Plugin
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
A jak to wszystko zapamiętać?
A jak to wszystko zapamiętać?
ćwiczyć
ćwiczyć
ćwiczyć
Key Promoter Plugin
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
A jak to wszystko zapamiętać?
A jak to wszystko zapamiętać?
ćwiczyć
ćwiczyć
ćwiczyć
Key Promoter Plugin
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
A jak to wszystko zapamiętać?
A jak to wszystko zapamiętać?
ćwiczyć
ćwiczyć
ćwiczyć
Key Promoter Plugin
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
Rady dla początkujących
A co z początkującymi użytkownikami?
Korzystać od początku z domyślnych skrótów!
Key Promoter
Szukać ustawień, które przeszkadzają, czy da się zmienić
Pair Programing
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
Rady dla początkujących
A co z początkującymi użytkownikami?
Korzystać od początku z domyślnych skrótów!
Key Promoter
Szukać ustawień, które przeszkadzają, czy da się zmienić
Pair Programing
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
Rady dla początkujących
A co z początkującymi użytkownikami?
Korzystać od początku z domyślnych skrótów!
Key Promoter
Szukać ustawień, które przeszkadzają, czy da się zmienić
Pair Programing
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
Rady dla początkujących
A co z początkującymi użytkownikami?
Korzystać od początku z domyślnych skrótów!
Key Promoter
Szukać ustawień, które przeszkadzają, czy da się zmienić
Pair Programing
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
Rady dla początkujących
A co z początkującymi użytkownikami?
Korzystać od początku z domyślnych skrótów!
Key Promoter
Szukać ustawień, które przeszkadzają, czy da się zmienić
Pair Programing
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
Skąd brać wiedzę?
Skrót do wyszukiwania innych skrótów
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 35/43
Skąd brać wiedzę?
Tip of the Day – nie warto wyłączać
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 36/43
Skąd brać wiedzę?
Help -> Productivity Guide
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 37/43
Skąd brać wiedzę?
IntelliJ IDEA Keyboard Stickers
http://hamletdarcy.blogspot.com/2011/05/intellij-idea-keyboard-stickers.html
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 38/43
Skąd brać wiedzę?
IntelliJ Idea Blog blog.jetbrains.com/idea/
Screencasty
Wystąpienia z konferencji
Przypadkowe wciśnięcia kombinacji ;-)
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 39/43
A co po za IntelliJ Idea?
Co jeszcze można zoptymalizować?
Multishowek - CLCL
Launchy
Klawiatura
Windows + numerki
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
A co po za IntelliJ Idea?
Co jeszcze można zoptymalizować?
Multishowek - CLCL
Launchy
Klawiatura
Windows + numerki
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
A co po za IntelliJ Idea?
Co jeszcze można zoptymalizować?
Multishowek - CLCL
Launchy
Klawiatura
Windows + numerki
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
A co po za IntelliJ Idea?
Co jeszcze można zoptymalizować?
Multishowek - CLCL
Launchy
Klawiatura
Windows + numerki
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
A co po za IntelliJ Idea?
Co jeszcze można zoptymalizować?
Multishowek - CLCL
Launchy
Klawiatura
Windows + numerki
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
Feedback
Co mi się podobało?
Co mi się nie podobało?
Czego się nauczyłem?
Co zrobiło na mnie najwieksze wrażenie?
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 41/43
Pytania
?
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 42/43
Poznaj lepiej swoje środowisko programistyczne
i zwiększ swoją produktywność z IntelliJ Idea
Marcin Stachniuk
mstachniuk@gmail.com
http://mstachniuk.blogspot.com
Dziękuję!
18 stycznia 2015
Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 43/43

Más contenido relacionado

Similar a Poznaj lepiej swoje srodowisko programistyczne i zwieksz swoja produktywnosc z IntelliJ Idea - ChamberConf 2015

Pułapki programowania obiektowego
Pułapki programowania obiektowego Pułapki programowania obiektowego
Pułapki programowania obiektowego Adam Sawicki
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlSebastian Marek
 
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime
 

Similar a Poznaj lepiej swoje srodowisko programistyczne i zwieksz swoja produktywnosc z IntelliJ Idea - ChamberConf 2015 (6)

Wprowadzenie do J2ME
Wprowadzenie do J2MEWprowadzenie do J2ME
Wprowadzenie do J2ME
 
Pułapki programowania obiektowego
Pułapki programowania obiektowego Pułapki programowania obiektowego
Pułapki programowania obiektowego
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
Jest Git!
Jest Git!Jest Git!
Jest Git!
 
scenariusz-5-poszlaki
scenariusz-5-poszlakiscenariusz-5-poszlaki
scenariusz-5-poszlaki
 
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
CodiLime Tech Talk - Michał Cłapiński, Mateusz Jabłoński: Debugging faultily ...
 

Más de MarcinStachniuk

GraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademy
GraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademyGraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademy
GraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademyMarcinStachniuk
 
Wroclaw GraphQL - GraphQL in Java
Wroclaw GraphQL - GraphQL in JavaWroclaw GraphQL - GraphQL in Java
Wroclaw GraphQL - GraphQL in JavaMarcinStachniuk
 
[DevCrowd] GraphQL - gdy API RESTowe to za mało
[DevCrowd] GraphQL - gdy API RESTowe to za mało[DevCrowd] GraphQL - gdy API RESTowe to za mało
[DevCrowd] GraphQL - gdy API RESTowe to za małoMarcinStachniuk
 
GraphQL - gdy API RESTowe to za mało
GraphQL - gdy API RESTowe to za małoGraphQL - gdy API RESTowe to za mało
GraphQL - gdy API RESTowe to za małoMarcinStachniuk
 
BruJUG Brussels GraphQL when RESR API is to less - lessons learned
BruJUG Brussels GraphQL when RESR API is to less - lessons learnedBruJUG Brussels GraphQL when RESR API is to less - lessons learned
BruJUG Brussels GraphQL when RESR API is to less - lessons learnedMarcinStachniuk
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using ShipkitMarcinStachniuk
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgMarcinStachniuk
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
 
GraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedGraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedMarcinStachniuk
 
Java Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologiąJava Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologiąMarcinStachniuk
 
Zarządzanie zmianami w schemacie relacyjnych baz danych
Zarządzanie zmianami w schemacie relacyjnych baz danychZarządzanie zmianami w schemacie relacyjnych baz danych
Zarządzanie zmianami w schemacie relacyjnych baz danychMarcinStachniuk
 
Inicjatywa NoSQL na przykładzie db4o
Inicjatywa NoSQL na przykładzie db4oInicjatywa NoSQL na przykładzie db4o
Inicjatywa NoSQL na przykładzie db4oMarcinStachniuk
 
Automatic mechanism data migration between relational and object database
Automatic mechanism data migration between relational and object databaseAutomatic mechanism data migration between relational and object database
Automatic mechanism data migration between relational and object databaseMarcinStachniuk
 
Zastosowanie obiektowych baz danych na przykładzie db4o
Zastosowanie obiektowych baz danych na przykładzie db4oZastosowanie obiektowych baz danych na przykładzie db4o
Zastosowanie obiektowych baz danych na przykładzie db4oMarcinStachniuk
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017MarcinStachniuk
 

Más de MarcinStachniuk (20)

GraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademy
GraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademyGraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademy
GraphQL - Piękne API w Twojej Aplikacji - KrakowGraphAcademy
 
Wroclaw GraphQL - GraphQL in Java
Wroclaw GraphQL - GraphQL in JavaWroclaw GraphQL - GraphQL in Java
Wroclaw GraphQL - GraphQL in Java
 
[DevCrowd] GraphQL - gdy API RESTowe to za mało
[DevCrowd] GraphQL - gdy API RESTowe to za mało[DevCrowd] GraphQL - gdy API RESTowe to za mało
[DevCrowd] GraphQL - gdy API RESTowe to za mało
 
GraphQL - gdy API RESTowe to za mało
GraphQL - gdy API RESTowe to za małoGraphQL - gdy API RESTowe to za mało
GraphQL - gdy API RESTowe to za mało
 
BruJUG Brussels GraphQL when RESR API is to less - lessons learned
BruJUG Brussels GraphQL when RESR API is to less - lessons learnedBruJUG Brussels GraphQL when RESR API is to less - lessons learned
BruJUG Brussels GraphQL when RESR API is to less - lessons learned
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learnedGraphQL - when REST API is not enough - lessons learned
GraphQL - when REST API is not enough - lessons learned
 
Java Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologiąJava Web Start – jak żyć z tą dziwną technologią
Java Web Start – jak żyć z tą dziwną technologią
 
Zarządzanie zmianami w schemacie relacyjnych baz danych
Zarządzanie zmianami w schemacie relacyjnych baz danychZarządzanie zmianami w schemacie relacyjnych baz danych
Zarządzanie zmianami w schemacie relacyjnych baz danych
 
Inicjatywa NoSQL na przykładzie db4o
Inicjatywa NoSQL na przykładzie db4oInicjatywa NoSQL na przykładzie db4o
Inicjatywa NoSQL na przykładzie db4o
 
Automatic mechanism data migration between relational and object database
Automatic mechanism data migration between relational and object databaseAutomatic mechanism data migration between relational and object database
Automatic mechanism data migration between relational and object database
 
Zastosowanie obiektowych baz danych na przykładzie db4o
Zastosowanie obiektowych baz danych na przykładzie db4oZastosowanie obiektowych baz danych na przykładzie db4o
Zastosowanie obiektowych baz danych na przykładzie db4o
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
 

Poznaj lepiej swoje srodowisko programistyczne i zwieksz swoja produktywnosc z IntelliJ Idea - ChamberConf 2015

  • 1. Poznaj lepiej swoje środowisko programistyczne i zwiększ swoją produktywność z IntelliJ Idea Marcin Stachniuk mstachniuk@gmail.com http://mstachniuk.blogspot.com 18 stycznia 2015 Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 1/43
  • 2. O mnie Marcin Stachniuk Chorąży na chamberconf.pl Kontakt: mstachniuk@gmail.com Blog: mstachniuk.blogspot.com Twitter: @MarcinStachniuk Recenzent: practicalunittesting.com Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 2/43
  • 3. Agenda 1 Zasady 2 Warsztat 3 Trick & Tips Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 3/43
  • 4. Agenda 1 Zasady 2 Warsztat 3 Trick & Tips Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 4/43
  • 5. Ogólne zasady Zasady: Będziemy robić Coding Dojo podczas którego będziemy implementować Katę Skupiamy się na nieużywaniu myszki czyli na skrótach klawiaturowych Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
  • 6. Ogólne zasady Zasady: Będziemy robić Coding Dojo podczas którego będziemy implementować Katę Skupiamy się na nieużywaniu myszki czyli na skrótach klawiaturowych Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
  • 7. Ogólne zasady Zasady: Będziemy robić Coding Dojo podczas którego będziemy implementować Katę Skupiamy się na nieużywaniu myszki czyli na skrótach klawiaturowych Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
  • 8. Ogólne zasady Zasady: Będziemy robić Coding Dojo podczas którego będziemy implementować Katę Skupiamy się na nieużywaniu myszki czyli na skrótach klawiaturowych Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
  • 9. Ogólne zasady Zasady: Będziemy robić Coding Dojo podczas którego będziemy implementować Katę Skupiamy się na nieużywaniu myszki czyli na skrótach klawiaturowych Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 5/43
  • 10. Zasady Coding Dojo cz. 1 Coding Dojo: Dwie osoby siedzą przy komputerze i implementują wspólnie zadanie Po 5. minutach zmiana jednego uczestnika i po kolejnych 5. minutach następuje zmiana kolejnego uczestnika Nikt nie siedzi przy komputerze dłużej niż 10 minut Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
  • 11. Zasady Coding Dojo cz. 1 Coding Dojo: Dwie osoby siedzą przy komputerze i implementują wspólnie zadanie Po 5. minutach zmiana jednego uczestnika i po kolejnych 5. minutach następuje zmiana kolejnego uczestnika Nikt nie siedzi przy komputerze dłużej niż 10 minut Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
  • 12. Zasady Coding Dojo cz. 1 Coding Dojo: Dwie osoby siedzą przy komputerze i implementują wspólnie zadanie Po 5. minutach zmiana jednego uczestnika i po kolejnych 5. minutach następuje zmiana kolejnego uczestnika Nikt nie siedzi przy komputerze dłużej niż 10 minut Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
  • 13. Zasady Coding Dojo cz. 1 Coding Dojo: Dwie osoby siedzą przy komputerze i implementują wspólnie zadanie Po 5. minutach zmiana jednego uczestnika i po kolejnych 5. minutach następuje zmiana kolejnego uczestnika Nikt nie siedzi przy komputerze dłużej niż 10 minut Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
  • 14. Zasady Coding Dojo cz. 1 Coding Dojo: Dwie osoby siedzą przy komputerze i implementują wspólnie zadanie Po 5. minutach zmiana jednego uczestnika i po kolejnych 5. minutach następuje zmiana kolejnego uczestnika Nikt nie siedzi przy komputerze dłużej niż 10 minut Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
  • 15. Zasady Coding Dojo cz. 1 Coding Dojo: Dwie osoby siedzą przy komputerze i implementują wspólnie zadanie Po 5. minutach zmiana jednego uczestnika i po kolejnych 5. minutach następuje zmiana kolejnego uczestnika Nikt nie siedzi przy komputerze dłużej niż 10 minut Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 6/43
  • 16. CodingDojo Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 7/43
  • 17. Zasady Coding Dojo cz. 2 Coding Dojo: Osoby przy komputerze rozmawiają na temat implementowanego rozwiązania i wykonują sugestie prowadzącego Poza programistami i prowadzącym nikt nie ma prawa głosu! chyba że prowadzący pozwoli ;-) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
  • 18. Zasady Coding Dojo cz. 2 Coding Dojo: Osoby przy komputerze rozmawiają na temat implementowanego rozwiązania i wykonują sugestie prowadzącego Poza programistami i prowadzącym nikt nie ma prawa głosu! chyba że prowadzący pozwoli ;-) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
  • 19. Zasady Coding Dojo cz. 2 Coding Dojo: Osoby przy komputerze rozmawiają na temat implementowanego rozwiązania i wykonują sugestie prowadzącego Poza programistami i prowadzącym nikt nie ma prawa głosu! chyba że prowadzący pozwoli ;-) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
  • 20. Zasady Coding Dojo cz. 2 Coding Dojo: Osoby przy komputerze rozmawiają na temat implementowanego rozwiązania i wykonują sugestie prowadzącego Poza programistami i prowadzącym nikt nie ma prawa głosu! chyba że prowadzący pozwoli ;-) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
  • 21. Zasady Coding Dojo cz. 2 Coding Dojo: Osoby przy komputerze rozmawiają na temat implementowanego rozwiązania i wykonują sugestie prowadzącego Poza programistami i prowadzącym nikt nie ma prawa głosu! chyba że prowadzący pozwoli ;-) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 8/43
  • 22. Agenda 1 Zasady 2 Warsztat 3 Trick & Tips Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 9/43
  • 23. Start No to zaczynamy! Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 10/43
  • 24. Agenda 1 Zasady 2 Warsztat 3 Trick & Tips Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 11/43
  • 25. Nawigacja po środowisku Alt + numerki Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 12/43
  • 26. Nawigacja po środowisku Alt + numerki Dwukrotne naciśnięcie tej samej kombinacji powoduje zamknięcie okna! Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 13/43
  • 27. Nawigacja po środowisku Skakanie pomiędzy oknami Esc Skok do kodu Shift + Esc Zamknięcie okna i skok do kodu Ctrl + Shift + F12 Zmaksymalizowanie okna z kodem F12 Skok od ostatniego okna (z okna kodu) Enter Otwarcie wybranego pliku (z okna Pro- ject) F4 Otwarcie i skok do wybranego pliku (z okna Project) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 14/43
  • 28. Zmiana rozmiaru okien Ctrl + Shift + Lewo/Prawo Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 15/43
  • 29. Zmiana rozmiaru okien Ctrl + Shift + Dół/Góra Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 16/43
  • 30. Ustawienia Tabek z plikami Jeśli nie potrzebujesz ich, wyłącz je! Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 17/43
  • 31. Ustawienia Tabek z plikami Zamiast tego skacz do pliku za pomocą: Ctrl + E Skok do pliku lub okien Ctrl + Shift + Tab skok do pozostałych okien / plikow Ctrl + Tab skok do ostatniego pliku Ctrl + Shift + E skok do ostatnio edytowanych plików Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 18/43
  • 32. Ustawienia Navigation Bar Jak potrzebujesz dużo miejsca na kod, to możesz ukryć Navigation Bar (View -> Navigation Bar) Ukrywa on niestety ostatnią uruchamianą konfigurację. Navigation Bar i tak jest zawsze dostępny za pomocą: Alt + Home Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 19/43
  • 33. Refaktoring Ctrl + Alt + M Extract Method V Extract Variable F Extract Field C Extract Constant P Extract Parameter N Inline Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 20/43
  • 34. CamelHumps Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 21/43
  • 35. Surround selection on typing quote or brace Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 22/43
  • 36. Show Line Numbers Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 23/43
  • 37. Quick List Warto zdefiniować swoją listę często używanych funkcji i podpiąć ją pod skrót klawiaturowy (np. Ctrl + Alt + /): Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 24/43
  • 38. Edycja kodu Ctrl + C Kopiuje całą linię Ctrl + D Duplikuje całą linię Shift + Enter Wstawia nową linię poniżej Ctrl + Alt + Enter Wstawia nową linię powyżej Ctrl + Y Usunięcie linii Ctrl + Shift + Enter Uzupełnia linię i wstawia nową Alt + Shift + Góra/Dół Przesuwanie linii w górę / dół Ctrl + Shift + Góra/Dół Inteligentne przesuwanie linii w górę / dół Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 25/43
  • 39. Edycja kodu Live Templates Ctrl + J Wstawianie Live Template Ctrl + Alt + J Otocz Live Template St<Tab> String iter<Tab> Iteracja w stylu JDK 1.5 (foreach) psf <Tab> public static final psfs<Tab> public static final String psfi<Tab> public static final int sout<Tab> System.out.println(); serr<Tab> System.err.println(); psvm<Tab> public static void main(...){...} Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 26/43
  • 40. Edycja kodu Live Templates – warto definiować swoje Settings − > Live Templates 1: @org.junit.Test 2: public void should$NAME$() { 3: // given 4: $END$ 5: 6: // when 7: 8: // then 9: } http://monkeyisland.pl/2009/12/07/given-when-then-forever/ Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 27/43
  • 41. Edycja kodu Postfix Code Completion Settings -> Editor -> Postfix Templates http://blog.jetbrains.com/idea/2014/03/postfix-completion/ Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 28/43
  • 42. Otwarcie pliku (lub czegoś innego) w innym widoku Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 29/43
  • 43. Duplicate lines aaa Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 30/43
  • 45. Widok zależności z poprawnym zakresem Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 32/43
  • 46. A jak to wszystko zapamiętać? A jak to wszystko zapamiętać? ćwiczyć ćwiczyć ćwiczyć Key Promoter Plugin Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
  • 47. A jak to wszystko zapamiętać? A jak to wszystko zapamiętać? ćwiczyć ćwiczyć ćwiczyć Key Promoter Plugin Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
  • 48. A jak to wszystko zapamiętać? A jak to wszystko zapamiętać? ćwiczyć ćwiczyć ćwiczyć Key Promoter Plugin Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
  • 49. A jak to wszystko zapamiętać? A jak to wszystko zapamiętać? ćwiczyć ćwiczyć ćwiczyć Key Promoter Plugin Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
  • 50. A jak to wszystko zapamiętać? A jak to wszystko zapamiętać? ćwiczyć ćwiczyć ćwiczyć Key Promoter Plugin Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 33/43
  • 51. Rady dla początkujących A co z początkującymi użytkownikami? Korzystać od początku z domyślnych skrótów! Key Promoter Szukać ustawień, które przeszkadzają, czy da się zmienić Pair Programing Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
  • 52. Rady dla początkujących A co z początkującymi użytkownikami? Korzystać od początku z domyślnych skrótów! Key Promoter Szukać ustawień, które przeszkadzają, czy da się zmienić Pair Programing Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
  • 53. Rady dla początkujących A co z początkującymi użytkownikami? Korzystać od początku z domyślnych skrótów! Key Promoter Szukać ustawień, które przeszkadzają, czy da się zmienić Pair Programing Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
  • 54. Rady dla początkujących A co z początkującymi użytkownikami? Korzystać od początku z domyślnych skrótów! Key Promoter Szukać ustawień, które przeszkadzają, czy da się zmienić Pair Programing Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
  • 55. Rady dla początkujących A co z początkującymi użytkownikami? Korzystać od początku z domyślnych skrótów! Key Promoter Szukać ustawień, które przeszkadzają, czy da się zmienić Pair Programing Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 34/43
  • 56. Skąd brać wiedzę? Skrót do wyszukiwania innych skrótów Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 35/43
  • 57. Skąd brać wiedzę? Tip of the Day – nie warto wyłączać Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 36/43
  • 58. Skąd brać wiedzę? Help -> Productivity Guide Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 37/43
  • 59. Skąd brać wiedzę? IntelliJ IDEA Keyboard Stickers http://hamletdarcy.blogspot.com/2011/05/intellij-idea-keyboard-stickers.html Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 38/43
  • 60. Skąd brać wiedzę? IntelliJ Idea Blog blog.jetbrains.com/idea/ Screencasty Wystąpienia z konferencji Przypadkowe wciśnięcia kombinacji ;-) Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 39/43
  • 61. A co po za IntelliJ Idea? Co jeszcze można zoptymalizować? Multishowek - CLCL Launchy Klawiatura Windows + numerki Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
  • 62. A co po za IntelliJ Idea? Co jeszcze można zoptymalizować? Multishowek - CLCL Launchy Klawiatura Windows + numerki Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
  • 63. A co po za IntelliJ Idea? Co jeszcze można zoptymalizować? Multishowek - CLCL Launchy Klawiatura Windows + numerki Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
  • 64. A co po za IntelliJ Idea? Co jeszcze można zoptymalizować? Multishowek - CLCL Launchy Klawiatura Windows + numerki Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
  • 65. A co po za IntelliJ Idea? Co jeszcze można zoptymalizować? Multishowek - CLCL Launchy Klawiatura Windows + numerki Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 40/43
  • 66. Feedback Co mi się podobało? Co mi się nie podobało? Czego się nauczyłem? Co zrobiło na mnie najwieksze wrażenie? Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 41/43
  • 67. Pytania ? Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 42/43
  • 68. Poznaj lepiej swoje środowisko programistyczne i zwiększ swoją produktywność z IntelliJ Idea Marcin Stachniuk mstachniuk@gmail.com http://mstachniuk.blogspot.com Dziękuję! 18 stycznia 2015 Marcin Stachniuk Poznaj lepiej swoje środowisko programistyczne 43/43