137
Яндекс.Субботник, Киев, 25 апреля 2009 года Вадим Макишвили Вёрстка в IntelliJIDEA

V Makishvili Verstka Intellijidea

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: V  Makishvili  Verstka  Intellijidea

Яндекс.Субботник, Киев, 25 апреля 2009 года

Вадим Макишвили

Вёрстка в IntelliJIDEA

Page 2: V  Makishvili  Verstka  Intellijidea

2

«Редактор должен помогать»

Page 3: V  Makishvili  Verstka  Intellijidea

3

Год 1983Моя мечта

Page 4: V  Makishvili  Verstka  Intellijidea

Год 2009Мечты сбываются

4

Пылесос iRobot

Page 5: V  Makishvili  Verstka  Intellijidea

Год 2009Мечты сбываются

5

Модель HRP-4C

Пылесос iRobot

Page 6: V  Makishvili  Verstka  Intellijidea

Год 2009Мечты сбываются

6

Модель HRP-4C

Грузолёт

Пылесос iRobot

Page 7: V  Makishvili  Verstka  Intellijidea

IntelliJIDEA – что это?

7

Page 8: V  Makishvili  Verstka  Intellijidea

IntelliJIDEA – это

8

Среда разработки для

Page 9: V  Makishvili  Verstka  Intellijidea

IntelliJIDEA – это

9

Кухонный комбайн

Page 10: V  Makishvili  Verstka  Intellijidea

Вхождение в IntelliJIDEA

10

Page 11: V  Makishvili  Verstka  Intellijidea

11

Установка

Page 12: V  Makishvili  Verstka  Intellijidea

12

Установка

Page 13: V  Makishvili  Verstka  Intellijidea

13

Установка

Page 14: V  Makishvili  Verstka  Intellijidea

14

Page 15: V  Makishvili  Verstka  Intellijidea

15

Page 16: V  Makishvili  Verstka  Intellijidea

16

Page 17: V  Makishvili  Verstka  Intellijidea

17

Page 18: V  Makishvili  Verstka  Intellijidea

18

Приветствие

Page 19: V  Makishvili  Verstka  Intellijidea

19

Page 20: V  Makishvili  Verstka  Intellijidea

Терминология

— Проект – это разрабатываемый нами Сервис

— IDEA Project – это некая мета-сущность, в которой IntelliJIDEA хранит всю информацию о разрабатываемых нами Сервисах

20

Page 21: V  Makishvili  Verstka  Intellijidea

Создание IDEA Project

21

Page 22: V  Makishvili  Verstka  Intellijidea

22

Page 23: V  Makishvili  Verstka  Intellijidea

23

Page 24: V  Makishvili  Verstka  Intellijidea

24

Page 25: V  Makishvili  Verstka  Intellijidea

25

Page 26: V  Makishvili  Verstka  Intellijidea

26

Page 27: V  Makishvili  Verstka  Intellijidea

27

Page 28: V  Makishvili  Verstka  Intellijidea

28

Page 29: V  Makishvili  Verstka  Intellijidea

29

Page 30: V  Makishvili  Verstka  Intellijidea

30

Page 31: V  Makishvili  Verstka  Intellijidea

31

Page 32: V  Makishvili  Verstka  Intellijidea

32

Page 33: V  Makishvili  Verstka  Intellijidea

33

Page 34: V  Makishvili  Verstka  Intellijidea

34

Page 35: V  Makishvili  Verstka  Intellijidea

35

Page 36: V  Makishvili  Verstka  Intellijidea

36

Page 37: V  Makishvili  Verstka  Intellijidea

37

Page 38: V  Makishvili  Verstka  Intellijidea

38

Вёрстка в IntelliJIDEA, или забудьте про рутину

Page 39: V  Makishvili  Verstka  Intellijidea

Meta Feature

Отвечать на вопросы разработчика

39

Page 40: V  Makishvili  Verstka  Intellijidea

Работа с абстракциямиFeatures groups

1. Файлы проектаКопирование, переименование, поиск и другие действия с файловой системой

2. Литеральное представление кодаРабота со строками файла и функции систем контроля версий

3. Структурные элементы кодаНюансы работы с конкретным кодом. Например, HTML и CSS

40

Page 41: V  Makishvili  Verstka  Intellijidea

41

IntelliJIDEA — Живое Целое

Page 42: V  Makishvili  Verstka  Intellijidea

Живое Целое

42

IntelliJIDEA File SystemIDEA Project File

IDEA Module File

Content Root’s Files

Core

Caches

Page 43: V  Makishvili  Verstka  Intellijidea

Живое Целое

43

IntelliJIDEA File SystemIDEA Project File

IDEA Module File

Content Root’s Files

Core

Caches

Page 44: V  Makishvili  Verstka  Intellijidea

Живое Целое

• Работает со своими кешами• Сохраняет всё• Анализирует взаимосвязи в коде• Повышает эффективность разработки

44

Page 45: V  Makishvili  Verstka  Intellijidea

Живое Целое

• Работает со своими кешами• Сохраняет всё• Анализирует взаимосвязи в коде• Повышает эффективность разработки

• И при этом не тормозит ;-)

45

Page 46: V  Makishvili  Verstka  Intellijidea

46

GUI and Settings

Page 47: V  Makishvili  Verstka  Intellijidea

Интуитивность и привычность

47

Page 48: V  Makishvili  Verstka  Intellijidea

Диалог настроек

48

Page 49: V  Makishvili  Verstka  Intellijidea

49

File Templates

Page 50: V  Makishvili  Verstka  Intellijidea

File Templates

50

Page 51: V  Makishvili  Verstka  Intellijidea

File Templates

51

Page 52: V  Makishvili  Verstka  Intellijidea

File Templates

52

Page 53: V  Makishvili  Verstka  Intellijidea

53

Live Templates

Page 54: V  Makishvili  Verstka  Intellijidea

Live Templates

54

Live Template Созданный код

Page 55: V  Makishvili  Verstka  Intellijidea

Например:

Набрать xhtml и нажать

Live Templates

55

Live Template Созданный код

Page 56: V  Makishvili  Verstka  Intellijidea

Live Templates

56

Page 57: V  Makishvili  Verstka  Intellijidea

Live Templates

Набрать table и нажать

57

Page 58: V  Makishvili  Verstka  Intellijidea

58

Surround, Folding, Code Style

Page 59: V  Makishvili  Verstka  Intellijidea

Surround

59

Page 60: V  Makishvili  Verstka  Intellijidea

Surround

60

Page 61: V  Makishvili  Verstka  Intellijidea

Surround

61

Page 62: V  Makishvili  Verstka  Intellijidea

Surround

62

Page 63: V  Makishvili  Verstka  Intellijidea

Surround, Folding

63

Cmd -

Page 64: V  Makishvili  Verstka  Intellijidea

Surround, Folding

64

Cmd L

Cmd Alt J

Page 65: V  Makishvili  Verstka  Intellijidea

Surround, Folding and Code Style

65

Page 66: V  Makishvili  Verstka  Intellijidea

Code Style

66

Cmd Alt L

Page 67: V  Makishvili  Verstka  Intellijidea

Code Style

67

Page 68: V  Makishvili  Verstka  Intellijidea

68

DTD

Page 69: V  Makishvili  Verstka  Intellijidea

DTD

69

Cmd B

Cmd Clickor

Page 70: V  Makishvili  Verstka  Intellijidea

DTD

70

Page 71: V  Makishvili  Verstka  Intellijidea

71

Autocomplete

Page 72: V  Makishvili  Verstka  Intellijidea

КонтекстныйAutocomplete

72

Только табличные элементы

Ctrl Space

Page 73: V  Makishvili  Verstka  Intellijidea

КонтекстныйAutocomplete

73

Только строчные элементы

Только табличные элементы

Page 74: V  Makishvili  Verstka  Intellijidea

СамообучающийсяAutocomplete

74

Запоминает использованные теги

Page 75: V  Makishvili  Verstka  Intellijidea

75

Killer FeatureFile Encodings

Page 76: V  Makishvili  Verstka  Intellijidea

Явное указание

76

Page 77: V  Makishvili  Verstka  Intellijidea

Конвертирование

77

Page 78: V  Makishvili  Verstka  Intellijidea

78

Version Control Systems

Page 79: V  Makishvili  Verstka  Intellijidea

Version Control SystemsКонтекстный контроль

79

Page 80: V  Makishvili  Verstka  Intellijidea

Version Control SystemsКонтекстный контроль

80

Добавлен

Удалён

Page 81: V  Makishvili  Verstka  Intellijidea

Version Control Systems

81

Изменён

Page 82: V  Makishvili  Verstka  Intellijidea

Version Control SystemsБыстрая навигация

82

Page 83: V  Makishvili  Verstka  Intellijidea

83

Local History

Page 84: V  Makishvili  Verstka  Intellijidea

Развенчиваем мифыLocal History

• Идея жутко тормозит, если не выключить Local History

• “И ваще, Local History невостребована, когда есть VCS”

84

Page 85: V  Makishvili  Verstka  Intellijidea

Local HistoryКак использую я?

85

Page 86: V  Makishvili  Verstka  Intellijidea

Local HistoryКак использую я?

86

Page 87: V  Makishvili  Verstka  Intellijidea

Local HistoryКак использую я?

87

Page 88: V  Makishvili  Verstka  Intellijidea

88

Diff

Page 89: V  Makishvili  Verstka  Intellijidea

Интуитивность и контекстный контрольDiff

89

Page 90: V  Makishvili  Verstka  Intellijidea

РежимыDiff

1. Compare Two FilesСравниваются два файла, выделенные одновременно в Project View

2. Compare File with EditorСравнивается файл, выделенный в Project View, с файлом, который открыт в Editor View

3. Compare Selected with ClipboardСравнивается выделенный фрагмент кода с тем, что лежит в буфере обмена

90

Page 91: V  Makishvili  Verstka  Intellijidea

91

Создание элементов кода

Page 92: V  Makishvili  Verstka  Intellijidea

Повышаем эффективностьСоздание элементов кода

1. Быстро управляем HTML-тегами и CSS-свойствамиLive Templates.

2. Мыслим мета-категориямиLive Templates?

3. Пишем компонентамиLive Templates!

92

Page 93: V  Makishvili  Verstka  Intellijidea

Пишем компонентами

Набрать b-userpic и нажать

93

Page 94: V  Makishvili  Verstka  Intellijidea

Мыслим мета-категориями

94

@

poapor

bau

fafv

Live Template Созданный код

@import url(…)

position: absoluteposition: relative

background: [color] url(…) no-repeat [position]

font: 100% Arial, sans-seriffont: 80% Verdana, sans-serif

Page 95: V  Makishvili  Verstka  Intellijidea

Мыслим мета-категориями

95

dbdi

dib

Live Template Созданный код

display: blockdisplay: inline

display: -moz-inline-block; display: inline-block

Page 96: V  Makishvili  Verstka  Intellijidea

Мыслим мета-категориями

96

bsb

bsc

Live Template Созданный код

box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box

box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box

Page 97: V  Makishvili  Verstka  Intellijidea

Что важно понять из примеров?

• Мы пишем код фрагментами

• Задачу по формированию логических кусков нашего кода мы переносим на плечи робота

• Себе же оставляем только творчество :)

97

Page 98: V  Makishvili  Verstka  Intellijidea

98

Killer FeatureCode Inspection

Page 99: V  Makishvili  Verstka  Intellijidea

Синтаксическая корректностьCode Inspection

99

Page 100: V  Makishvili  Verstka  Intellijidea

ВалидностьCode Inspection

100

?

Page 101: V  Makishvili  Verstka  Intellijidea

ВалидностьCode Inspection

101

Page 102: V  Makishvili  Verstka  Intellijidea

Кириллица в CSS-селекторахCode Inspection

102

Page 103: V  Makishvili  Verstka  Intellijidea

103

Killer FeatureQuirks Mode Plugin

Page 104: V  Makishvili  Verstka  Intellijidea

Кроссбраузерные нюансыQuirks Mode Plugin

104

Питер‐Пол КохhMp://www.quirksmode.org

Page 105: V  Makishvili  Verstka  Intellijidea

105

Killer FeatureЭффективная работа с текстом

Page 106: V  Makishvili  Verstka  Intellijidea

Эффективная работа с текстом

Операции над строками без выделения строкCmd C, Cmd X, Cmd Y, Cmd D, Cmd /, Cmd Shift J, Cmd Shift Up/Down, etc…

106

Page 107: V  Makishvili  Verstka  Intellijidea

Без выделения строкЭффективная работа с текстом

107

Cmd Shift Up

Page 108: V  Makishvili  Verstka  Intellijidea

Без выделения строкЭффективная работа с текстом

108

Page 109: V  Makishvili  Verstka  Intellijidea

109

Эффективная работа с кодом

Page 110: V  Makishvili  Verstka  Intellijidea

Эффективная работа с кодом

• Операции над узламиCmd Shift Fn Backspace, Cmd Plus/Minus etc…

• Рефакторинг Shift F6

110

Page 111: V  Makishvili  Verstka  Intellijidea

Node’s Rename

111

Shift F6

Эффективная работа с кодом

Page 112: V  Makishvili  Verstka  Intellijidea

Node’s Rename

112

Type new name

Эффективная работа с кодом

Page 113: V  Makishvili  Verstka  Intellijidea

Node’s Rename

113

Эффективная работа с кодом

Page 114: V  Makishvili  Verstka  Intellijidea

Unsurround

114

Cmd Shift Fn Backspace

Эффективная работа с кодом

Page 115: V  Makishvili  Verstka  Intellijidea

Unsurround

115

Эффективная работа с кодом

Page 116: V  Makishvili  Verstka  Intellijidea

CSS Selector’s Rename

116

Эффективная работа с кодом

Shift F6

Page 117: V  Makishvili  Verstka  Intellijidea

CSS Selector’s Rename

117

Эффективная работа с кодом

Page 118: V  Makishvili  Verstka  Intellijidea

CSS Selector’s Rename

118

Эффективная работа с кодом

This important feature is a real time-saver which additionally guarantees the consistency of the refactored code

JetBrains says:

Page 119: V  Makishvili  Verstka  Intellijidea

119

Go To …

Page 120: V  Makishvili  Verstka  Intellijidea

Go To File

120

Cmd Shift N

Page 121: V  Makishvili  Verstka  Intellijidea

Go To File

121

Use masks!

Page 122: V  Makishvili  Verstka  Intellijidea

Go To File

122

Use fiters!

Page 123: V  Makishvili  Verstka  Intellijidea

Go To Resource

123

Cmd B

Cmd Clickor

Page 124: V  Makishvili  Verstka  Intellijidea

Go To Resource

124

Cmd B

Cmd Clickor

Page 125: V  Makishvili  Verstka  Intellijidea

125

Калейдоскоп возможностейустами JetBrains

Page 126: V  Makishvili  Verstka  Intellijidea

Image Size InspectionКалейдоскоп возможностей

126

Alt Enter

Page 127: V  Makishvili  Verstka  Intellijidea

Dublicate InspectionКалейдоскоп возможностей

127

Alt Enter

Page 128: V  Makishvili  Verstka  Intellijidea

CSS InspectionКалейдоскоп возможностей

128

Page 129: V  Makishvili  Verstka  Intellijidea

CSS InspectionКалейдоскоп возможностей

129

Ctrl Space

Page 130: V  Makishvili  Verstka  Intellijidea

Color PreviewКалейдоскоп возможностей

130

Page 131: V  Makishvili  Verstka  Intellijidea

Color RefactoringКалейдоскоп возможностей

131

Shift F6

Page 132: V  Makishvili  Verstka  Intellijidea

CSS AutocompleteКалейдоскоп возможностей

132

Ctrl Space

Page 133: V  Makishvili  Verstka  Intellijidea

Show Applied Styles for TagКалейдоскоп возможностей

133

Page 134: V  Makishvili  Verstka  Intellijidea

Javascript DebuggerКалейдоскоп возможностей

134

Это надо увидетьhttp://www.jetbrains.com/idea/training/demos/javascript-debugger.html

Page 135: V  Makishvili  Verstka  Intellijidea

135

«Подытоживая всё вышесказанное…» © Veged, Alpha-San

Page 136: V  Makishvili  Verstka  Intellijidea

Спасибо за Ваше внимание!

Полный вариант доступен в виде статьи

Часть №1http://makishvili.com/2009/02/verstka-v-intellijidea-1/

Часть №2http://makishvili.com/2009/04/verstka-v-intellijidea-2/

136