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
710
Android Postfix Completionで爆速コーディング
takahirom
November 06, 2015
Tweet
Share
More Decks by takahirom
See All by takahirom
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
380
Google の LLM ライブラリ を Android アプリで 使うには?
takahirom
0
1.7k
Robolectric Native Graphics and Roborazzi
takahirom
1
1.9k
Androidアプリで安定して動作させ継続的に開発するために設計の原則を利用して開発した話
takahirom
2
1.3k
Android Tools & Performance
takahirom
1
1.2k
Jetpack Compose State Practices
takahirom
1
1.4k
Inside Jetpack Compose
takahirom
1
940
What’s new in Android Jetpack and Tools
takahirom
0
380
ABEMAのKotlin Multiplatform
takahirom
4
5.7k
Other Decks in Programming
See All in Programming
C++20 射影変換
faithandbrave
0
480
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
330
Datadog RUM 本番導入までの道
shinter61
1
290
SODA - FACT BOOK
sodainc
1
960
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
510
Java on Azure で LangGraph!
kohei3110
0
140
Claude Codeの使い方
ttnyt8701
1
120
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
960
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
A2A プロトコルを試してみる
azukiazusa1
1
140
単体テストの始め方/作り方
toms74209200
0
470
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Thoughts on Productivity
jonyablonski
69
4.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Scaling GitHub
holman
459
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Code Reviewing Like a Champion
maltzj
524
40k
Being A Developer After 40
akosma
90
590k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
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ͷϦϙδτϦʹ˒͚͍ͭͯͩ͘͞ʂ