Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VS Code をプロダクトにどう取り込むか
Search
Naoto Ono
April 20, 2024
Programming
1
1k
VS Code をプロダクトにどう取り込むか
https://vscode.connpass.com/event/308890/
で話した内容です。
Naoto Ono
April 20, 2024
Tweet
Share
More Decks by Naoto Ono
See All by Naoto Ono
Introduction of new features for VS Code debugging
onomax
2
2k
Other Decks in Programming
See All in Programming
Criando Commits Incríveis no Git
marcelgsantos
1
120
.NET 9アプリをCGIとして レンタルサーバーで動かす
mayuki
1
750
Cursorでアプリケーションの追加開発や保守をどこまでできるか試したら得るものが多かった話
drumnistnakano
0
260
デザインパターンで理解するLLMエージェントの作り方 / How to develop an LLM agent using agentic design patterns
rkaga
11
2.7k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
840
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3.8k
社内活動の取り組み紹介 ~ スリーシェイクでこんな取り組みしてます ~
bells17
0
380
CSC305 Lecture 23
javiergs
PRO
0
110
Functional Event Sourcing using Sekiban
tomohisa
0
130
Jakarta EE meets AI
ivargrimstad
0
1.1k
DevTools extensions で 独自の DevTool を開発する | FlutterKaigi 2024
kokiyoshida
0
380
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
3
370
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
A Philosophy of Restraint
colly
203
16k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Done Done
chrislema
181
16k
Visualization
eitanlees
145
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Happy Clients
brianwarren
98
6.7k
Optimizing for Happiness
mojombo
376
70k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Applications with DynamoDB
mza
91
6.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
150
Transcript
VS Code ΛϓϩμΫτʹͲ͏औΓࠐΉ͔ VS Code Extension ࣮͔Β࣮ࡍͷϓϩμΫτʹऔΓࠐΉ·Ͱ Presented by Naoto
Ono
ࣗݾհɿখ ਓ ▶ GitHub: @ono-max ▶ ॴଐɿLaunchable, inc. ▶ ։ൃʹܞΘͬͨ
VS Code Extension Ruby Debugger Ruby Typeprof Launchable 2
Launchable ʹ͍ͭͯ 3 ▶ ςετʹ͓͚Δ༷ʑͳ՝Λղܾ͢ΔϓϥοτϑΥʔϜ ▶ Predictive Test Selection ػցֶशΛ༻͍ͯͦͷมߋʹରͯ͠࠷Ձͷ͋ΔςετΛબΜͰ͘ΕΔػೳ
▶ Test Insights Flakey Test ςετͷ࣮ߦ࣌ؒͷਪҠͳͲΛੳ͠දࣔͯ͘͠ΕΔػೳ ▶ …
σϞɿVS Code Extension 4
None
ࠓճͷͷςʔϚ ▶ VS Code Extension ։ൃͷಓͷΓ ࠓհͨ͠ Extension ͲͷΑ͏ʹ࡞ΒΕͨͷ͔ 6
ࠓճͷͷςʔϚ ▶ VS Code Extension ։ൃͷಓͷΓ ࠓհͨ͠ Extension ͲͷΑ͏ʹ࡞ΒΕͨͷ͔ 7
VS Code Ͱ ͜Μͳ͜ͱͰ͖ΔΜͩʂ
ࠓճͷͷςʔϚ ▶ VS Code Extension ։ൃͷಓͷΓ ࠓհͨ͠ Extension ͲͷΑ͏ʹ࡞ΒΕͨͷ͔ 8
VS Code Ͱ ͜Μͳ͜ͱͰ͖ΔΜͩʂ VS Code Extension ։ൃͯ͠ݟΑ͏͔ͳ…
ḪΔ͜ͱೖࣾ̍Χ݄લ 9 ▶ Կ͔໘ന͍ͷΛ࡞Γ͍ͨʂ ▶ ྑͦ͞͏ͳωλΛ୳͍ͯͨ͠
Launchable Ͱ໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ߟ͑ͯΈΔ 10 ▶ ͔ͤͬ͘ೖࣾ͢Δ͠ɺ͍͍ػձʹͳΓͦ͏ ▶ ৭ʑ৮ͬͯΈΔ͜ͱʹͨ͠
Launchable ʹ͍ͭͯษڧ 11
Launchable ʹ͍ͭͯษڧ 12
Ϗϧυʹؔ͢ΔใΛૹΔ 13 CI ڥ Ϗϧυ `456` Launchable Ϗϧυ `456` ʹ͓͚Δมߋ
ʢԿߦมߋ͔ͨ͠ɾϑΝΠϧ໊ʣ
Ϗϧυʹؔ͢ΔใΛૹΔ 14 CI ڥ Ϗϧυ `456` Launchable Ϗϧυ ͷ ID
ʢϢʔβʔ͕ઃఆʣ Ϗϧυ `456` ʹ͓͚Δมߋ ʢԿߦมߋ͔ͨ͠ɾϑΝΠϧ໊ʣ
Launchable ʹ͍ͭͯษڧ 15
16 CI ڥ Launchable ϒϨΠϯ શ݅ςετͷҰཡ 20% ͷ ςετΛ ͍ͩ͘͞
ςετͷҰཡΛૹΔ
CI ڥ Launchable ϒϨΠϯ 20%ͷςετ ςετͷҰཡΛૹΔ
CI ڥ ςετΛ࣮ߦ ςετϥϯφʔ 20ˋͷςετ ςετϨϙʔτ ϑΝΠϧ
Launchable ʹ͍ͭͯษڧ 19
ςετ݁ՌΛૹΔ 20 CI ڥ Launchable Ϗϧυ `456` ʹ͓͚Δςετ݁Ռ ʢԿ݅ύεͯ͠Կࣦ݅ഊ͔ͨ͠ʣ
ςετϨϙʔτ ϑΝΠϧ Launchable CLI Ϗϧυ `456`ͷ ςετηογϣϯ
ςετηογϣϯͱϏϧυ Ϗϧυ `456` ςετηογϣϯ #1 ޭ 100݅ ࣦഊ 5݅ ޭ
95݅ ࣦഊ 10݅ ޭ 99݅ ࣦഊ 6݅ Python: 3.6 ςετηογϣϯ #2 Python: 3.7 ςετηογϣϯ #3 Python: 3.8
ςετηογϣϯͱϏϧυ Ϗϧυ `456` ςετηογϣϯ #1 ޭ 100݅ ࣦഊ 5݅ ޭ
95݅ ࣦഊ 10݅ ޭ 99݅ ࣦഊ 6݅ Python: 3.6 ςετηογϣϯ #2 Python: 3.7 ςετηογϣϯ #3 Python: 3.8 ͦΕͧΕͷ δϣϒͰ࣮ߦ͞Εͨ ςετΛ·ͱΊͨͷ
ςετηογϣϯͱϏϧυ Ϗϧυ `456` ςετηογϣϯ #1 ޭ 100݅ ࣦഊ 5݅ ޭ
95݅ ࣦഊ 10݅ ޭ 99݅ ࣦഊ 6݅ Python: 3.6 ςετηογϣϯ #2 Python: 3.7 ςετηογϣϯ #3 Python: 3.8 ͦΕͧΕͷ δϣϒͰ࣮ߦ͞Εͨ ςετΛ·ͱΊͨͷ ϑΝΠϧͷมߋใ ίϛοτใΛ ·ͱΊͨͷ
࠶ܝɿLaunchable ͷ͍ํ 24
࠶ܝɿLaunchable ͷ͍ํ 25 CLI ͷΓऔΓ ͕ଟ͍ʂʂ
Launchable CLI ίϚϯυ 26 ▶ ϏϧυใΛૹΔɿ `launchable record build …`
▶ ςετͷαϒηοτͷऔಘɿ `launchable subset …` ▶ ςετ݁ՌΛૹΔɿ `launchable record test …`
Launchable CLI ίϚϯυ 27 ▶ ϏϧυใΛૹΔɿ `launchable record build …`
▶ ςετͷαϒηοτͷऔಘɿ `launchable subset …` ▶ ςετ݁ՌΛૹΔɿ `launchable record test …` ίϚϯυ͕ଟͯ͘ ͦ͠͏…
Ͳ͏͢Ε CLI Λ؆୯ʹ࣮ߦͰ͖Δͷ͔ʁ
Ͳ͏͢Ε CLI Λ؆୯ʹ࣮ߦͰ͖Δͷ͔ʁ => VS Code Extension ͳΒղܾͰ͖Δʂ
ΞΠσΟΞܾ·ͬͨʂ͋ͱ࡞Δ͚ͩ 30 ▶ VS Code Extension ͷςϯϓϨʔτ Yeoman Ͱ ▶
github.com/microsoft/vscode-extension-samples Ͱ API ͷ࡞ΓํΛษڧ ΠϝʔδΛ௫ΊͨΒυΩϡϝϯτͰৄࡉΛΔ ▶
σϞɿLaunchable CLI Λͬͨ VS Code Extension
None
σϞͷ·ͱΊ 33 ▶ CLI ΛҙࣝͤͣʹɺϢʔβʔײతʹ Launchable ͷػೳΛ ͏͜ͱ͕Ͱ͖Δ ཪଆͰઌ΄Ͳհͨ͠ίϚϯυ͕ୟ͔Ε͍ͯΔ
࡞ͬͨ Extension ΛݟͤͯΈͨ 34 ▶ ೖࣾޙɺ࡞ͬͨ VS Code Extension ΛݟͤͯΈͨ
▶ ͍͍ԠΛΒ͏͜ͱ͕Ͱ͖ɺૣϦϦʔε͠Α͏ʂͱͷ͜ͱ
͜͜·Ͱ࡞ͬͯΈͯ… 35 ▶ ࠓ·Ͱͷ VS Code ͷ։ൃܦݧ͕׆͔ͤͨ CLI ͰͰ͖ͳ͍͜ͱΛ VS
Code ͰΧοίΑ͘දݱ͢Δ ▶ ͜Ε͔ΒϑΟʔυόοΫΛΒ͍ͳ͕Βվળ͍ͯ͜͠͏
͍͟ϦϦʔεʂ
͍͟ϦϦʔεʂ ʹʼޙ...
ϦϦʔεޙ ▶ Πϯετʔϧ͕ͳ͔ͳ͔৳ͼͳ͍ Ϣʔβʔ͔ΒͷϑΟʔυόοΫ΄ͱΜͲͳ͔ͬͨ ▶ ϒϩάΛॻ͍ͯΈͨΓͯ͠ɺ͋·ΓมΘΒͣ
ͳͥΘΕͳ͍ͷ͔ 39 ▶ ୭ʹͬͯΒ͏͔ΛΠϝʔδͰ͖ͯͳ͍ ▶ ͦͦϩʔΧϧͰ Launchable Λ࣮ߦ͍ͨ͠ͱ͍͏Ϟνϕʔγϣϯ͕ͳ͍ ▶ ࣾͷΤσΟλ
IntelliJ ͕ϝΠϯ ࣗΛؚΊͨࣾͷਓͰ͢Β͏ػձ͕ͳ͍
ΘΕΔͷΛ࡞Δͷ͍͠ 40 ▶ ͜ͷ··طଘͷͷΛվળͯ͋͠·Γָ͘͠ͳͦ͞͏ ▶ ৽͍͠ͷͰ࡞ͬͯΈΑ͏
লΛ౿·͑ͨ৽ػೳ։ൃ 41 ▶ ৭ʑͳϓϩμΫτͷ VS Code Extension ΛͬͯΈͨ ▶ ͕ࣗৗۀͰ͑Δͷ͔
▶ ָ͘͠࡞Εͦ͏͔
ιʔείʔυʹδϟϯϓ͢Δػೳ 42 ▶ Datadog ͷ VS Code ΤΫεςϯγϣϯ ▶ Web
ΞϓϦέʔγϣϯ͔Βιʔείʔυʹδϟϯϓ͢Δػೳ ▶ Ͱ͖ͨΒΊͬͪΌΧοί͍͍ʂʂ
ͲͷΑ͏ʹ࣮͢Δ͔ 43 ▶ ֘ͷϑΝΠϧΛͲͷΑ͏ʹݟ͚ͭΔ͔ ▶ ϢʔβʔʹΑͬͯσΟϨΫτϦߏҧ͏ Web ΞϓϦέʔγϣϯଆͰೖྗ͢ΔUIΛ࡞Δͷඍົ… ▶
ͲͷΑ͏ʹ࣮͢Δ͔ 44 ▶ Datadog ͷ Extension ઃఆʹʮ୳ࡧ͢ΔσΟϨΫτϦͷਂ͞Λઃఆ Ͱ͖ΔʯϑΟʔϧυΛൃݟͨ͠ ۪ʹީิͱͳΓͦ͏ͳσΟϨΫτϦΛ୳͍ͯ͠ΔͷͰʁ ▶
ͲͷΑ͏ʹ࣮͢Δ͔ 45 ▶ ֘ͷϑΝΠϧΛͲͷΑ͏ʹݟ͚ͭΔ͔ ▶ Α͋͘Δ୳ࡧͷҰͭͩͬͨʂ ࠶ؼతʹݕࡧͯͦ͠ͷσΟϨΫτϦΛΩϟογϡͯ͠… ŝŦ―― ƅ㱼ƅ)――!!
46 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ ։ൃऀ VS Code Extension Πϯετʔϧ
47 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ ։ൃऀ VS Code Extension `.git` σΟϨΫτϦ Λ࣋ͭσΟϨΫτ
ϦͷύεΛ୳͢ Πϯετʔϧ
48 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ ։ൃऀ VS Code Extension `.git` σΟϨΫτϦ Λ࣋ͭσΟϨΫτ
ϦͷύεΛ୳͢ Πϯετʔϧ VS Code Global Storage ύεΛอଘ
49 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ Launchable Web ΞϓϦ VS Code Extension ։͖͍ͨςετͷύε
50 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ Launchable Web ΞϓϦ VS Code Extension ։͖͍ͨςετͷύε
VS Code Global Storage ύεΛऔΓग़͢
51 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ Launchable Web ΞϓϦ VS Code Extension ։͖͍ͨςετͷύε
VS Code Global Storage ֘ͷύεΛ୳͢ ύεΛऔΓग़͢
52 ͲͷΑ͏ʹιʔείʔυΛ୳͍ͯ͠Δͷ͔ Launchable Web ΞϓϦ VS Code Extension ։͖͍ͨςετͷύε
࣮ࡍʹ࡞ͬͯΈͯ… 53 ▶ ࡞Δͷָ͔ͬͨ͠ʂ ▶ ҙ֎ͱ͍ʹ͍͔͘… ϑΝΠϧͷͲ͜ʹ͋Δ͔͔Βͳ͍ -> ֘ͷςετͷߦʹҠಈ͠ͳ͍ ▶
ߦ൪߸Λςετ͔Βऔಘ͢Δ ▶ Launchable CLI Ͱ࣌ςετͷߦ൪߸Λऔಘ͍ͯ͠ͳ͔ͬͨ ▶ ߦ൪߸ΛऔಘͰ͖Δͷ͔ʁ Ұ෦ͷςετϥϯφʔ͕ରԠ͍ͯͨ͠
ߦ൪߸Λςετ͔Βऔಘ͢Δ 55 ▶ ߦ൪߸ΛอଘͰ͖ΔΈΛνʔϜʹఏҊ ▶ ݟࣄड͚ೖΕΒΕɺͬͯΈΔ͜ͱʹ Ϣʔβʔ͔ΒʮιʔείʔυʹδϟϯϓͰ͖Δػೳ͕ཉ͍͠ʯͱ͍͏ཁ͕ ͋ͬͨͷޙԡ͠ʹ
࣮Λͯ͠ΈΔ 56 ▶ ߦ൪߸Λऔಘ͢Δͷҙ֎ͱ͍͠ ͷʹΑͬͯ 0 ߦ͔Β͑Δͷ͋Δ ▶ GitHub ͔Β։͚Δͱศར͡Όͳ͍ʁ
ίʔυδϟϯϓػೳ͕Ͱ͖ͨʂ 57 ▶ ೖࣾલʹ͜Μͳ͜ͱʹͳΔͱࢥ͍ͬͯͳ͔ͬͨ ▶ VS Code Extension ։ൃָ͍͠
ࠓޙʹ͍ͭͯ 58 ▶ ͬͱ VS Code Extension Ͱ໘ന͍͜ͱ͍ͨ͠ WebAssembly ࿈ܞʁ
VS Code Ͱ Launchable ͷ Web ΞϓϦΛݟΕΔΑ͏ʹ͢Δʁ … ▶
·ͱΊ 59 ▶ VS Code Extension ͷ։ൃͷܦݧΛͱʹϓϩμΫτ VS Code ֦ுΛ
Ͳ͏औΓࠐΉ͔ʹ͍͓͍͖ͭͯͤͯͨͩ͠͞·ͨ͠ɻ ▶ VS Code ͷ׆༻ํ๏ͷ৽͍͠ൃݟɺࣗͷϓϩμΫτʹ VS Code Λ ͬͯ໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ͳͱࢥ͍͚ͬͯͨͩΔͱ͍Ͱ͢ɻ
Launchable ͰҰॹʹಇؒ͘Λืूͯ͠·͢ 60
Thank you!