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
How to hack VS Code: evil ways (Japanese)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Amagi
January 12, 2019
Technology
5
3.7k
How to hack VS Code: evil ways (Japanese)
Presented at Kyoto.js 15
https://kyotojs.connpass.com/event/113442/
Amagi
January 12, 2019
Tweet
Share
More Decks by Amagi
See All by Amagi
Enchant your website with VFX-JS
fand
0
140
READY FOR THE BATTLE? -Introduction to Live Coding-
fand
1
570
GLSL PostEffect in TouchDesigner
fand
2
2k
VEDA GLSL Livecoding workshop
fand
2
5.4k
PWA 方法 無料 今すぐ
fand
3
1.5k
Have you ever heard GPUs cry?
fand
2
3.9k
Real World GLSL
fand
0
290
APIs for VJ-ing
fand
1
7k
Style your Components with styled-component!
fand
1
840
Other Decks in Technology
See All in Technology
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
180
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
420
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
140
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
580
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
620
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
140
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
3
1.2k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
510
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
49
Embracing the Ebb and Flow
colly
88
5k
Accessibility Awareness
sabderemane
0
51
The SEO identity crisis: Don't let AI make you average
varn
0
67
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
How GitHub (no longer) Works
holman
316
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
amagitakayosi amagitakayosi HOW TO HACK VSCODE :Evil Ways HOW TO
HACK VSCODE :Evil Ways
@amagitakayosi
None
ϥΠϒίʔσΟϯά7+ͬͯ·͢
7&%" (-4-ϥΠϒίʔσΟϯάڥ Λ࡞͍ͬͯ·͢
7&%"ͷྑ͍ͱ͜Ζ w 7+Ͱ͖Δ w "UPNͰ7+Ͱ͖Δ
7&%"ͷѱ͍ͱ͜Ζ w "UPNͰ͔͠ಈ͔ͳ͍
None
Γ·ͨ͠ Γ·ͨ͠ Γ·ͨ͠ Γ·ͨ͠
ࠓͷϝχϡʔ w 7&%"ͷ෮श w ͳͥ74$PEFͩͱ͍͠ͷ͔ w 74$PEFͰͲ͏ͬͯಈ͔͔ͨ͠ w ࠓޙͷ՝
veda veda veda
ɹ7&%" w "UPN্Ͱ(-4-Λ࣮ߦ͢Δύοέʔδ w ಈըΛΓସ͑ͯΤϑΣΫτ͔͚ͨΓɺ ϨΠϚʔνϯά͚ͩͰ7+ͨ͠Γ w Իೖྗɺ.*%*ɺ04$ೖྗͳͲ ͞·͟·ͳೖྗʹରԠ
ɹ"UPN w &MFDUSPOͰ࡞ΒΕͨΤσΟλ(JU)VC w $ISPNFؙ͕͝ͱೖͬͯΔΑ͏ͳΜ w ֦ுػೳͰ%0.͍͡Γ์ͳͷͰ 8FC(-Ͱ8FC"VEJPͰԿͰग़དྷΔ
7&%"ͷΈ UIཁૉ Πϯυ ←canvasཁૉΛૠೖͯ͠ ɹWebGLΛඳը
ɹɹ74$PEF 7JTVBM4UVEJP$PEF w .JDSPTPGU͕։ൃ w "UPNͱಉ͘͡&MFDUSPOϕʔε w ଟػೳɺߴɺิ͕ڧ͍ w ࠷ۙΈΜͳͬͯΔ
https://insights.stackoverflow.com/survey/2018 ࠷ਓؾͷΤσΟλ
7&%"ɼͳͥ74$PEFʹҠ২Ͱ͖ͳ͍ͷʁ w 74$PEF"UPNͱಉ͘͡&MFDUSPOϕʔε w ύϑΥʔϚϯεͱ҆શੑͷͨΊɺ ֦ுػೳͷݖݶ͔ͳΓ੍ݶ͞ΕΔ w ֦ுػೳͷ+4ผϓϩηεͰ࣮ߦ͞ΕΔ w %0.৮Εͳ͍ʜʜ
“VS Codeの拡張機能は、エディターのUIにHTML要素を 追加したり、カスタムCSSを適用する事はできません”
None
ຊ࣭ w ίʔυͷഎ໘ʹ w 8FC(-Ͱඳըͨ͠എܠΛ w ϦΞϧλΠϜͰඳը͍ͨ͠
Ξϓϩʔν w ֎෦ϓϩηεͰϏϡʔΞʔΛΒͤΔ w ΤσΟλͷඳը݁ՌΛ֎෦ϓϩηεʹૹΔ w ͳΜͱͯ͠74$PEF্Ͱಈ͔͢
֎෦ϓϩηεͰϏϡʔΞʔΛΒͤΔ w 74$PEFͷΠϯυಁ໌ʹͰ͖Δ w ݱ࣌Ͱ8JOEPXT൛ͷΈ w .BD൛ରԠ#BDLMPHʹೖͬͨ w 74$PEFͷΠϯυҐஔΛऔಘ͠ɺ ϏϡʔΞʔͷҐஔΛਵͤ͞Εྑ͍ʁ
֎෦ϓϩηεͰϏϡʔΞʔΛΒͤΔ VSCode Ϩϯμϥʔ
w ಈըͱͯ͠ૹΔ w ಛఆͷΠϯυͷඳը݁ՌΛऔಘ͢Δͷ ͳΜ͔ؤுΕͰ͖Δͣʢ7%.9͕ରԠ w ΤσΟλͷഎܠΛࠇʹͯ͠ɺ ࠇ͍ॴΛൈ͍ͯग़ྗʹॏͶΕΑ͍ʁ w ݟਏͦ͏
ΤσΟλͷඳը݁ՌΛ֎෦ϓϩηεʹૹΔ
ΤσΟλͷඳը݁ՌΛ֎෦ϓϩηεʹૹΔ ඳը݁Ռ Ϩϯμϥʔ VSCode
͏ʙʙΜʜʜʜʜʜʜ
Μʁ
None
w ଧݤ͢ΔͱΧʔιϧ͕രൃ͢ΔΞϨ w ࠷ॳ"UPNͰ࣮͞Εͨ w "UPNͰDBOWBTΞχϝʔγϣϯɺͳͣ w 74$PEFͰ%0.Λ͍͡Εͳ͍ͷͰ ෆՄೳͩͱࢥΘΕ͕ͨʜʜʁ vscode-power-mode
w ࣄલʹΤϑΣΫτΛ(*'Ξχϝʹॻ͖ग़͠ w %FDPSBUJPOͷCBDLHSPVOEJNBHFͱͯ͠ (*'ΞχϝΛදࣔ 1PXFS.PEFͷΈ
w ίʔυͷಛఆͷൣғʹ০ΛՃͰ͖Δ w MJOUΤϥʔɺΧϥʔίʔυͷ৭ϓϨϏϡʔ w CFGPSFBGUFSʹ$44ΛͯΒΕΔʂʂʂ w CBDLHSPVOEJNBHFͰը૾ΛಡΈࠐΊΔ %FDPSBUJPO"1*
ࢼ͠ʹը૾Λදࣔͯ͠ΈΔ
ը૾ಡΈࠐΊΔ w ຖϑϨʔϜɺඳը݁ՌΛը૾ϑΝΠϧʹ ॻ͖ग़ͤྑ͍ʂʂʂʂʂ w ΊͬͪΌॏͦ͏͚ͩͲͬͯΈΑ͏ w γΣʔμʔΛಡΈࠐΜͰը૾Λు͖ग़͢ Ϩϯμϥʔ࡞Γɺ74$PEF͔Βݺͼग़ͤྑ͍
࡞ઓ 1. γΣʔμʔΛϑΝΠϧʹอଘ
࡞ઓ 2. Ϩϯμϥʔ͕γΣʔμʔΛಡΈࠐΉ
࡞ઓ 3. ϨϯμϥʔຖϑϨʔϜ ɹ ը૾ϑΝΠϧΛॻ͖ग़͠ଓ͚Δ
࡞ઓ 4. ΤσΟλʔॻ͖ग़͞Εͨը૾Λ ɹ ຖϑϨʔϜDecoratorʹදࣔ͢Δ
w ཁ݅ w γΣʔμʔͷύεɺग़ྗαΠζΛड͚औΔ w 0QFO(-Ͱ(-4-Λඳը͠ɺϑΝΠϧʹॻग़ w ग़ྗͨ͠ϑΝΠϧ໊Λඪ४ग़ྗʹදࣔ w 74$PEF͕ಡΈࠐΊΔΑ͏ʹ
Ϩϯμϥʔ࡞
w ΫϩείϯύΠϧ͍ͨ͠ w 8FC(-ΫϩεϓϥοτϑΥʔϜͰҒ͍ʜʜ w (Pͱ3VTUͰ0QFO(-ͷνϡʔτϦΞϧͬͨॴ (Pͷํָ͕ͦ͏ͩͬͨ w (P 0QFO(-νϡʔτϦΞϧ
IUUQTNFEJVNDPN!ESHPNFTQPQFOHMBOEHPMBOHHFUUJOHTUBSUFEBCDEEGEC w 3VTU 0QFO(-νϡʔτϦΞϧ IUUQTXXXSFEEJUDPNSSVTUDPNNFOUTBCLH SVTU@BOE@PQFOHM@GSPN@TDSBUDI@B@CMPH@QPTU@TFSJFT ࠓճ(PΛ࠾༻
None
w QPTJUJPOpYFE͕ޮ͔ͳ͍ʜʜʂʁ ୭͔ॿ͚ͯ w શը໘ʹද͍ࣔͨ͠ͷͰɺ%FDPSBUPSͷൣғΛ ʹ͕ͨ͠ɺεΫϩʔϧ͢Δͱফ͑ͯ͠·͏ w
74$PEFɺը໘֎ʹग़ͨཁૉΛ ଈ࠲ʹফͯ͠͠·͏Ͱରॲ w FEJUPSWJTJCMF3BOHFTͰରॲ %FDPSBUPSຯʹۤ࿑ͨ͠
w ࠷ॳGQT͘Β͍͔͠ग़ͳ͔ͬͨʜʜʂʂ w ͬͨ͜ͱ w ඪ४ग़ྗɺϑΝΠϧॻ͖ग़͠ɺ γΣʔμʔߋ৽ͷରԠΛHPSPVUJOFͰ w 1/(ॻ͖ग़͠Λௐ ύϑΥʔϚϯεվળ
ૉͳ࣮
ૉͳ࣮ ˡϑΝΠϧ*0ͰϒϩοΫ ˡඪ४ग़ྗͰϒϩοΫ
ը૾ϑΝΠϧ ॻ͖ग़͠ ඪ४ग़ྗ ϝΠϯ 描画したよ 描画! ファイル 書き出し! 書き出したよ 出力
ը૾ϑΝΠϧ ॻ͖ग़͠ ඪ४ग़ྗ ϝΠϯ
ը૾ϑΝΠϧ ॻ͖ग़͠ ඪ४ग़ྗ ϝΠϯ
վળޙͷ࣮ ˡඇಉظͰը૾ॻ͖ग़͠
վળޙͷ࣮ ˡඇಉظͰඪ४ग़ྗ
w (-'8ϝΠϯεϨουͰ͔͠ݺͳ͍ͷͰ Կ͔ϋϚͬͨ w ը૾ϑΝΠϧॻ͖ग़͠HPSPVUJOFͰ HMΦϒδΣΫτݺΜͰͯ4&(7ͨ͠Γ w HPͷඪ४ϕϯνϚʔΫπʔϧͰ ϝΠϯεϨουͰ࣮ߦ͢Δͷେมͦ͏ͩͬͨ HPSPVUJOFศརͰ͢Ͷ
w 0QFO(-͔Βऔಘͨ͠3(#"ΛJNBHFQOHʹ͢ͱ ্Լసͯ͠ग़ྗ͞ΕΔ w 8FC(-ͩͱHM6/1"$,@'-*1@:@8&#(-Ͱ ඳը݁Ռసͯ͠औಘͰ͖Δͷʹʜʜ w άάͬͯΈΔͱɺΈΜͳૉʹGPSϧʔϓͰ ্Լసͯ͋͛ͯ͠ΔΑ͏ͩͬͨ 1/(ॻ͖ग़͠Λௐ
w σʔλॻ͖ࠐΈͷGPSϧʔϓΛมߋͯ͠ ԼͷϐΫηϧ͔Βॱ൪ʹॻ͖ग़͢Α͏ʹͨ͠ IUUQTHJUIVCDPNHPMBOHHPCMPCNBTUFSTSDJNBHFQOHXSJUFSHP- w ͍ͭͰʹ#VpPΛͯ͠ ϑΝΠϧॻ͖ࠐΈΛόοϑΝϦϯά͢ΔΑ͏ʹ w 'JMFXSJUFόοϑΝϦϯά͞Εͳ͍
JNBHFQOHΛGPSL
YͰGQT͘Β͍ग़ΔΑ͏ʹ
w ΫϩεϓϥοτϑΥʔϜͳԻೖྗϥΠϒϥϦɺ ͋Μ·Γແ͍ΜͳΜͰ͢Ͷʜʜ w ࠓճHPQPSUBVEJPΛ࠾༻ w ΫϩείϯύΠϧͰ͖ͳ͍ʜʜ(Pͳͷʹ w 3VTUԻೖྗपΓ͔ͳΓ͔ͬ͠Γͯ͠ΔͷͰ ͍ͣΕ3VTUʹҠߦ͢Δ͔
Իೖྗ
w HPඪ४ͷJNBHFQOHΛͬͯͨ w 0QFO(-͔Βऔಘͨ͠3(#"Λ͢ͱ ্Լసͯ͠ग़ྗ͞ΕΔ w 8FC(-ͩͱHM6/1"$,@'-*1@:@8&#(-Ͱ ඳը݁Ռసͯ͠औಘͰ͖Δͷʹʜʜ w ௐͯΈΔͱɺΈΜͳૉʹGPSϧʔϓͰ
্Լసͯ͋͛ͯ͠ΔΑ͏ͩͬͨ 1/(ॻ͖ग़͠Λௐ
DEMO https://github.com/fand/veda-vscode
w ύϑΥʔϚϯεվળ w ςΫενϟಡΈࠐΈ w .*%*ͱ͔ରԠ ࠓޙͷ՝
w ը૾ॻ͖ग़͕͠Ͳ͏ͯ͠ϘτϧωοΫʹͳΔ w ॻ͖ग़͠ऴΘΓΛͨͣʹϩʔυͯ͠ΈΔʁ w ్த·Ͱ͔͠ಡΈࠐΊͣϒπΕͨ͠ w ϑΝΠϧ*0ݮΒ͢ʹ"1/(͕͑Δʁ ύϑΥʔϚϯεվળ
w ߴը࣭Ξχϝʔγϣϯը૾ϑΥʔϚοτ w -*/&ελϯϓͱ͔ͰΘΕͯΔ w ϑΝΠϧͷߏతʹɺ ෳͷ1/(Λ·ͱΊͯϔομՃ͢Δ͚ͩ w ϦΞϧλΠϜੑ͕ࣦΘΕΔͷͰϘπ "1/(
w 7&%"ͰɺಈըૉࡐΛϩʔυͯ͠ ςΫενϟͱͯ͠ར༻Ͱ͖Δ w 8FC(-ͷ"1*ʹWJEFPཁૉΛͯ͠Δ͚ͩ ʢϒϥβҒ͍ʜʜʣ w EDHNG ''.QFHͷϥούʔ Λ͑ɺ
ಈըͷ֤ϑϨʔϜΛ3(#"ͱͯ͠औಘͰ͖Δʜʁ ςΫενϟಡΈࠐΈ
͜͜Ͱ࣌ؒΕ
·ͱΊ w ͳΜ͔ແཧΓؤுͬͨΒͦΕͳΓʹಈ͍ͨ w 74$PEFݫ͍͠ɻ"UPNͷᨳ͍จ۟ ʮA hackable text editor for
the 21st Centuryʯ ӕ͡Όͳ͍ͳʜʜ w ϒϥβҒ͍Ϥ
ϒϥβͬͯੌ͍ɺҒ͍ w 8FC(-Ғ͍ w UFY*NBHF%ʹDBOWBTWJEFPཁૉΛͨ͠Β ෆࢥٞͳྗͰϩʔυग़དྷΔΑ͏ʹͳΔ w 8FC"VEJP"1*ɺϓϥοτϑΥʔϜͷࣄߟ͑ͣʹ ԻೖྗͱΕΔ w
"1/(ಡΈࠐΈͱ͔Կߟ͑ͣʹߦ͚Δ
!74$PEF։ൃνʔϜ֤Ґ ֦ுػೳͰ%0.͍͡ΕΔΑ͏ʹ ͯ͘͠Εʂʂʂʂʂʂʂʂʂʂʂ ʂʂʂʂʂʂʂʂʂʂʂʂʂʂʂ ʂཔΉʂʂʂʂʂʂʂʂʂʂʂʂ ʂʂʂʂʂʂʂʂʂʂʂʂʂʂ ʂʂʂʂʂʂʂʂʂʂʂʂʂʂʂ
@amagitakayosi
https://veda.gl/