Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android Postfix Completionで爆速コーディング
Search
takahirom
November 06, 2015
Programming
2
700
Android Postfix Completionで爆速コーディング
takahirom
November 06, 2015
Tweet
Share
More Decks by takahirom
See All by takahirom
Google の LLM ライブラリ を Android アプリで 使うには?
takahirom
0
1.4k
Robolectric Native Graphics and Roborazzi
takahirom
1
1.8k
Androidアプリで安定して動作させ継続的に開発するために設計の原則を利用して開発した話
takahirom
2
1.3k
Android Tools & Performance
takahirom
1
1.1k
Jetpack Compose State Practices
takahirom
1
1.3k
Inside Jetpack Compose
takahirom
1
890
What’s new in Android Jetpack and Tools
takahirom
0
370
ABEMAのKotlin Multiplatform
takahirom
4
5.6k
What's new in Kotlin Coroutines on Android
takahirom
2
2.6k
Other Decks in Programming
See All in Programming
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
220
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
160
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
260
Code smarter, not harder - How AI Coding Tools Boost Your Productivity | Angular Meetup Berlin
danielsogl
0
100
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
290
Ça bouge du côté des animations CSS !
goetter
2
140
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
150
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
750
Introduction to kotlinx.rpc
arawn
0
750
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
BBQ
matthewcrist
87
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Speed Design
sergeychernyshev
27
810
Docker and Python
trallard
44
3.3k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Bash Introduction
62gerente
611
210k
Designing for Performance
lara
604
68k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Visualization
eitanlees
146
15k
Transcript
Android Postfix Completion ͰരίʔσΟϯά takahirom
takahirom • Android͕͖Ͱ͢ • AndroidͷϥΠϒϥϦ,AndroidStudioϓϥάΠϯΛ࡞͍ͬͯͨΓ͠·͢ • Github͕झຯͰ͢ • 11ίϛοτΛଓ͚͍ͯ·͢ •
Contribution streak͕365ʹͳΓ·ͨ͠ʂ
takahirom • Android͕͖Ͱ͢ • AndroidͷϥΠϒϥϦ,AndroidStudioϓϥάΠϯΛ࡞͍ͬͯͨΓ͠·͢ • Github͕झຯͰ͢ • 11ίϛοτΛଓ͚͍ͯ·͢ •
Contribution streak͕365ʹͳΓ·ͨ͠ʂ ↑ͷΛ͠·͢
Postfix Completionͱ
Postfix Completionͱ • AndroidStudioͷݩͷIntelliJ IDEAʹ͋Δػೳ
Postfix Completionͱ • AndroidStudioͷݩͷIntelliJ IDEAʹ͋Δػೳ • test.par Ͱ (test)ͱ͍ͬͨมΛͯ͘͠ΕͨΓͱ͍ͬͨิ͕ Ͱ͖ΔͷͰ͢ɻ
Postfix Completionͱ • AndroidStudioͷݩͷIntelliJ IDEAʹ͋Δػೳ • test.par Ͱ (test)ͱ͍ͬͨมΛͯ͘͠ΕͨΓͱ͍ͬͨิ͕ Ͱ͖ΔͷͰ͢ɻ
• Android StudioσϑΥϧτͰར༻Ͱ͖·͢ɻ
Postfix Completionͱ • AndroidStudioͷݩͷIntelliJ IDEAʹ͋Δػೳ • test.par Ͱ (test)ͱ͍ͬͨมΛͯ͘͠ΕͨΓͱ͍ͬͨิ͕ Ͱ͖ΔͷͰ͢ɻ
• Android StudioσϑΥϧτͰར༻Ͱ͖·͢ɻ • ৭Μͳछྨ͕͋ͬͯศརͰ͢
Postfix Completion σϞ • new ArrayList<String>().var • list.for • savedInstanceState.nn
• list.field • ɻɻɻɻ
Postfix Completion σϞ • new ArrayList<String>().var • list.for • savedInstanceState.nn
• list.field • ɻɻɻɻ • ઃఆը໘ʹҰཡ͕͋Γ·͢
࠷ߴʂAndroid൛ཉ͍͠ʂ
࠷ߴʂAndroid൛ཉ͍͠ʂ • ઃఆը໘͔Β͍͡Εͳ͍ɺɺ
࠷ߴʂAndroid൛ཉ͍͠ʂ • ઃఆը໘͔Β͍͡Εͳ͍ɺɺ • ࡞ΕΔΈ͍ͨͳͷͰ࡞Γ·ͨ͠ʂ
࠷ߴʂAndroid൛ཉ͍͠ʂ • ઃఆը໘͔Β͍͡Εͳ͍ɺɺ • ࡞ΕΔΈ͍ͨͳͷͰ࡞Γ·ͨ͠ʂ • →Android Postfix Completion
Android Postfix Completionͱ
Android Postfix Completionͱ • “Postfix Completion”ΛAndroidಛԽʹͨ͠ͷ
Android Postfix Completionͱ • “Postfix Completion”ΛAndroidಛԽʹͨ͠ͷ • ࣗ࡞Android StudioϓϥάΠϯ
Android Postfix Completionͱ • “Postfix Completion”ΛAndroidಛԽʹͨ͠ͷ • ࣗ࡞Android StudioϓϥάΠϯ •
6000μϯϩʔυಥഁ
Android Postfix Completionͱ • “Postfix Completion”ΛAndroidಛԽʹͨ͠ͷ • ࣗ࡞Android StudioϓϥάΠϯ •
6000μϯϩʔυಥഁ • https://plugins.jetbrains.com/plugin/7775?pr=
ϥΠϒίʔσΟϯά • Ϣʔβʔ໊ͱύεϫʔυ͕ೖ͍ͬͯͯ • fabΛλοϓ͢Δͱ • ”ొྃ”ͱ͍͏τʔετΛදࣔ͢Δ
Android Postfix CompletionͰͰ͖Δ͜ͱ • .toast ←τʔετ࡞ΕΔ • .log←ϩάग़ͤΔ • .findv←findViewग़ͤΔ
• isemp←TextUtils.isEmpty (@kikuchy͞Μ͋Γ͕ͱ͏) • ͳͲͳͲ
ࣗͰςϯϓϨʔτΛՃͯ͠ΈΑ͏ • ։ൃڥߏஙʹ͍ͭͯ • ͜ͷϓϥάΠϯͷΈʹ͍ͭͯ
ڥߏங 1. git clone
[email protected]
:takahirom/android-postfix-plugin.git 2. IntelliJ IDEAͰΠϯϙʔτ(Πϯετʔϧ͓͍͍ͯͯͩ͘͠͞) 3. Run/Debug
configuration͔ΒGradleͰઃఆ 4. ࣮ߦ͢ΔͱPluginΠϯετʔϧࡁΈIntelliJ IDEA͕ىಈ͢Δ
ڥߏங • Run/Debug configuration͔Β GradleͰઃఆ • ݁ߏ؆୯Ͱ͢
͜ͷϓϥάΠϯͷΈʹ͍ͭͯ (݁ߏख୳ΓͳͷͰࣗ৴͕ͳ͍෦͕ ଟʑ͋Γ·͢)
1:postfixTemplateProviderΛఆٛ • plugin.xml͕AndroidManifest.xmlͷΑ͏ͳͷͰ͢ɻ • (Ճ͢Δ߹͢Ͱʹొ͞Ε͍ͯΔͷͰมߋ͢Δඞཁ ͳ͍Ͱ͢)
2:ProviderͷΫϥεΛ࡞ΓςϯϓϨʔτҰཡΛฦ͢ • ͲΜͳςϯϓϨʔτ͕͋Δͷ͔ΛAndroidStudioʹೝࣝͤ͞Δ
3:TemplateΛ࡞Δ • .soutͰSystem.out.println($expr);Λग़͢ྫ
3:TemplateΛ࡞Δ • .soutͰSystem.out.println($expr);Λग़͢ྫ ม.soutͰදࣔ͞ΕΔ
3:TemplateΛ࡞Δ • .soutͰSystem.out.println($expr);Λग़͢ྫ ม.soutͰදࣔ͞ΕΔ ม࣌ʹީิʹදࣔ͞ΕΔྫ
3:TemplateΛ࡞Δ • .soutͰSystem.out.println($expr);Λग़͢ྫ ม.soutͰදࣔ͞ΕΔ ม࣌ʹީิʹදࣔ͞ΕΔྫ ީิʹදࣔ͢Δมͷ݅
3:TemplateΛ࡞Δ • .soutͰSystem.out.println($expr);Λग़͢ྫ ม.soutͰදࣔ͞ΕΔ ม࣌ʹީิʹදࣔ͞ΕΔྫ ީิʹදࣔ͢Δมͷ݅ ςϯϓϨʔτ $expr$ม.soutͷม $END$ऴྃ࣌ͷΧʔιϧͷҐஔ
4:มͷ༰ͳͲʹΑͬͯಈతʹม͑Δ • .logͰLog.d(“MainActivity”, “i:” + i)Ͱ͍ͬͯΔ͜ͱ
4:มͷ༰ͳͲʹΑͬͯಈతʹม͑Δ • .logͰLog.d(“MainActivity”, “i:” + i)Ͱ͍ͬͯΔ͜ͱ static import͍ͯ͠Δ͔ Ͳ͏͔Ͱɺग़͢จࣈΛม͑Δ
4:มͷ༰ͳͲʹΑͬͯಈతʹม͑Δ • .logͰLog.d(“MainActivity”, “i:” + i)Ͱ͍ͬͯΔ͜ͱ ςϯϓϨʔτจࣈྻ $TAG $expr $END$͕͋Δ
static import͍ͯ͠Δ͔ Ͳ͏͔Ͱɺग़͢จࣈΛม͑Δ
4:มͷ༰ͳͲʹΑͬͯಈతʹม͑Δ • .logͰLog.d(“MainActivity”, “i:” + i)Ͱ͍ͬͯΔ͜ͱ ςϯϓϨʔτจࣈྻ $TAG $expr $END$͕͋Δ
$exprʹೖ͢Δ Log.dͷҾStringͳͷͰ ඞཁʹԠͯ͡”expr:”+exprʹ͢Δ static import͍ͯ͠Δ͔ Ͳ͏͔Ͱɺग़͢จࣈΛม͑Δ
4:มͷ༰ͳͲʹΑͬͯಈతʹม͑Δ • .logͰLog.d(“MainActivity”, “i:” + i)Ͱ͍ͬͯΔ͜ͱ ςϯϓϨʔτจࣈྻ $TAG $expr $END$͕͋Δ
$exprʹೖ͢Δ Log.dͷҾStringͳͷͰ ඞཁʹԠͯ͡”expr:”+exprʹ͢Δ $TAGʹೖ͢Δ ඞཁʹԠͯ͡TAGมΛͬͨΓɺ Ϋϥε໊ΛͬͨΓ͢Δ static import͍ͯ͠Δ͔ Ͳ͏͔Ͱɺग़͢จࣈΛม͑Δ
5:ઃఆը໘ʹදࣔ͞ΕΔtemplateϑΝΠϧΛॻ͘
ͭΒ͍͜ͱ • ݁ߏ࣮ํ๏ख୳ΓͰ͢ • AOSP͔ΒAndroid StudioͷίʔυΛམͱͤΔͷͰɺGrep͠·͘Γ· ͠ΐ͏(R.id.text→TextViewΈ͍ͨͳͷΛ୳ͨ͠Γ͠·ͨ͠) • AOSPͷAndroid StudioͷcloneͱϏϧυ:http://tools.android.com/build
• IntelliJ Plugin ษڧձͰݟ͕ٵ͑·͢ɻ(Gradle-intellij-pluginΛڭ͑ͯ ͑ͨΓ͠·ͨ͠ɻ)
·ͱΊ • ͥͻͬͯΈ͍ͯͩ͘͞ʂ https://plugins.jetbrains.com/plugin/7775 • ϑΟʔυόοΫ͍ͬͯ·͢ʂ • ϓϧϦΫΤετ͍ͬͯ·͢ʂhttps://github.com/takahirom/android- postfix-plugin •
GradleରԠ͍ͯ͠ΔͷͰ݁ߏ؆୯ʹ։ൃڥ࡞Ε·͢ʂ • GithubͷϦϙδτϦʹ˒͚͍ͭͯͩ͘͞ʂ