https://info.jetbrains.com/jetbrains-night-tokyo-2018.html
ϝϧΧϦࣾһ100ਓʹฉ͍ͨGoLandͷ͍ํJetBrains Night Tokyo 2018Θ͔Ί ·͞ͻΖ
View Slide
Θ͔Ί ·͞ͻΖ @v vakameMasahiro WakameGoGraphQLTypeScript
Q. ຊʹ100ਓʹฉ͍ͨʁ
Q. ຊʹ100ਓʹฉ͍ͨʁड़ਓ 372ਓ ʹฉ͖·ͨ͠ʂʂ
ࠓͷαϚϦΈΜͳʹฉ͍ͨूେΛ͠·͢ʂ
ࠓͷαϚϦ•GoLand ཱࣗɾࣗशͷͨΊͷΈ•IDEʹٻΊΔػೳ•GoLandͷศརͳػೳͨͪ
֤OSຖͷ•macOSϢʔβͰ͢•ࠓجຊmacOSϕʔε•Action໊͕Θ͔ΕOK•͋ͱͰઆ໌͠·͢
ཱࣗɾࣗशͷͨΊͷΈ
GoLandଟػೳͰ͋Δ•ػೳ͕ແݶʹ͋Δ•Βͳ͍ػೳ͏͜ͱ͕Ͱ͖ͳ͍•Ͳ͏ͬͯڧ͘ͳΕ͍͍Μͩ…·ͣษڧͷํ͔Β
Productivity Guide•༁͢Δͱੜ࢈ੑΨΠυ•Help > Productivity Guide•ීஈͬͯͳ͍ػೳʹ•ਓͷΛݟΔͱ݁ߏָ͍͠
Find Action•ActionΛ୳͢•Help > Find Action•ࠓ͜Ε͚֮ͩ͑ͯؼͬͯʂ•͍͍ͩͨͷͷ͕ActionCmd+Shift+A
Find Action͍͍ͩͨԿ͔Actionͩʂ
Find ActionຊࢿྉAction໊Λ໌ه͠·͢
Search Everywhere•ͳΜͰݕࡧ• ͜Ε•ϑΝΠϧ, ܕ, Action ͳʹ͔͔ΒݕࡧShift ShiftࠔͬͨΒShift࿈ଧϚϯ
Preferencesͷݕࡧ•ݕࡧܥػೳ΄Μͱॆ࣮͍ͯ͠Δ
ϖΞ ϓϩάϥϛϯά•Ұ൪ϕʔγοΫͳͭ•ਫ਼ਆతෑډͪΐͬͱߴ͍•Ҋ֎ΈΜͳ͍ํ͕όϥ͚Δ•γϣϧμʔαʔϑΟϯ͢Δͷָ͕ڐՄऔΖ͏ʂ
Tip of the Day•ศརใΛϥϯμϜʹදࣔ•Help > Tip of the Day•ҰؾʹෳݟΔͱָ͍͠•গͣͭ͠ڧ͘ͳΖ͏ʂ
Presentation Assistant (Plugin)• github.com/chashnikov/IntelliJ-presentation-assistant• γϣʔτΧοτΩʔදࣔϓϥάΠϯUnofficial PluginͰ͢
Key Promotor X (Plugin)• github.com/halirutan/IntelliJ-Key-Promoter-X• γϣʔτΧοτΩʔڭҭϓϥάΠϯ• Ϛεͱ͔͏ͱࢦಋ͞ΕΔUnofficial PluginͰ͢
•Preference > Keymap >γϣʔτΧοτٯҾ͖ਓ͔ΒڭΘΔ࣌ศརͻͬͦΓͯ͠·͢
খ͍͞Ϙλϯશ෦ԡ͢•݁ߏݟಀ͚͢Ͳਵॴʹ͋ΔͱΓ͋͑ͣԡ͠·͠ΐ͏
ෆຬΛݟಀ͞ͳ͍•ෆศʹ׳Εͳ͍΄͏͕Α͍•ղফͯ͠Γӽ͍͖͍͑ͯͨ•ݴ͏қ͘ߦ͏͠…୳ͤ(͍͍ͩͨ)͋Δʂ
ϒϩάͱ͔ݟΔ•blog.jetbrains.com/go/•blog.jetbrains.com/jp/category/goland•samuraism.com/jetbrains/trainingࡢϓογϡ͞ΕͨͷͰ…(ૉ
IDEʹٻΊΔػೳ
Goͷύοέʔδཧ•܈༤ׂڌ•Dep•Go Modules (Official)•↑ExperimentalGoLandGo Modulesαϙʔτࡁ
Go Modules•GO111MODULE=on•࠷ߴͷαϙʔτʂ͜Εͦ͜ސ٬͕ٻΊ͍ͯͨͷ…ʂ
Go Module•GoLandͷGo Moduleαϙʔτ࠷ߴ(࠶ܝ•$GOPATH ͷมͳpackageरΘͳ͍•↑ͪΐ͍ͪΐ͍ਏ͔ͬͨ…•IDEͱͯ͠ͷ͕͕͋ͬͨ(ؾʹͳΔ
σόοΨ•ී௨ʹ͑Δ (Delve͕backend•Break point / Inspector•Unit TestपΓͷαϙʔτॆ࣮•Ͱ͖ͳ͍…•ෳࡶͳEvaluate Expression / Set Value
AppEngineαϙʔτ•Google Cloud PlatformͷAppEngine•ͬͯ·͔͢ʁͬͯ·͢Ͷʁ•go111 runtimeͰΊͬͪΌָʹͳͬͨ•AppEngineଆ͕าΈد͖ͬͯͨܗ•2018.3 ͰچruntimeͷαϙʔτվળΊͬͪΌ͍͚ͨ͠Ͳधཁബͦ͏ͳͷͰ࠙ձͰ…
ίʔυิ•ී௨ͷαδΣετ•ςετੜ•Struct ͷFieldຒΊ•etc…
πʔϧྨ…ʁ•gofmt, goimportsͳͲ•αϙʔτ༗Γ•νʔϜͰ౷Ұ͢ΔͨΊಛఆͷΤσΟλʹґଘͨ͘͠ͳ͍ؾ࣋ͪ…•gometalinter → File Watcher
ଞΤσΟλϢʔβʹฉ͍ͨ
Vim•IdeaVim Plugin•ΠέΔ•ͭΒ͍•Undoͷڍಈ͕ਏ͍…plugins.jetbrains.com/plugin/164-ideavim
ίʔυิͱ͔͍ΔͷݾΛ͑ΕΑ͘ͳ͍Ͱ͔͢ʁ※ݸਓͷײͰ͢(ͬͯݴ͑ͬͯ
GoLandͷศརͳػೳͨͪ৭ʑग़͖ͯ·ͨ͠
Show Intention Action•ͦͷ࣌ศརͦ͏ͳΞΫγϣϯΛදࣔ•Կ͔͋Γͦ͏ͱࢥͬͨΒͱΓ͋͑ͣԡ͢•Quick Fix ʹ͍ۙ•WarningError͕ͳͯ͘ԡͤΔOption + Enter
Test (Cmd+Shift+T)•Code ⇔ Test ͷҠಈ•Testͷੜ•Table Driven TestͳςϯϓϨΛੜʂ•ςετ໊ؔΘΓͱྑ͍Table Driven Testͯ͠·͔͢ʁ
Fill struct recursively•ͱͯ͠struct࡞Δ࣌ʹศར•zeroͰҰ୴શ෦ຒΊͯ͘ΕΔTestॻ࣌͘ʹΑ͍͘·͢
Mark Directory as•Excludes ͱ͔͢Δ•ݕࡧͱ͔ʹҾ͔͔ͬΒͳ͘ͳΔͿͬͪΌ͚͋Μ·Θͳ͍
Declaration•ఆٛʹඈͿͭ•͜ͷϝιουͷ࣮Ͳ͏ͳͬͯΔͷʙ•Jump to Source ͱҧ͍͕Θ͔Βͳ͍…•GoҎ֎ͷݴޠͩͱҧ͏ͷ͔ͳ͍ͭτϥοΫύουͰૢ࡞͢Δͭ
Back•1ݸલͷॴʹΔͭ•DeclarationͱΈ߹Θͤͯසൟʹ͏•࠷ۙ·ͰΒͳͯ͘ෆศͩͱࢥͬͯ·ͨ͠…
Next Project Window•ผ૭Ͱ։͍͍ͯΔProjectʹҠಈ͢Δͭ•ɹ͔ͨ͠ʹ•͔ɺ͔͍͍ͬ͜…
Edit Custom VM Options•GoLandͷىಈΦϓγϣϯ͍͡ΕΔ•-XmxΛ૿͢ʂͱ͍͏ਓ͕ଟ͔ͬͨ•JVMͷ࠷େώʔϓαΠζ• -Xmx1920m ʹ͠·ͨ͠
Recent Files•Recent Edited Files ͋ΔΑʂ
•͜ͷInterfaceΛ࣮ͯ͠ΔͭͲ͍ͭʁ•Methodͷ࣮ͷҰཡͱ͔ग़ͤΔImplementations݁ߏසൟʹ͏…ʂΊͬͪΌྑ͍
Call Hierarchy•ؔͳͲͷݺͼग़͠πϦʔΛදࣔ•Find Usage ΑΓศར…ʂ•࠶ؼతʹḷΕΔFind Usageͣͬͱͬͯͨ…
Scratch File•GoͰී௨ʹ͑Δ•ಉ྅ͱίʔυͷ૬ஊ͍ͨ͠…•Playground → ิͳͯ͘ࢮ͵•Scratch FileͰॻ͍ͯShare͢Δ৽نϫʔΫεϖʔε४උΊΜͲ͍
JetBrains Toolbox•www.jetbrains.com/toolbox/•GoLand ͦͷଞIDEೖΕΔͷΒ͘Β͘•όʔδϣϯݻఆͱ͔Ͱ͖Δ•ΞϓσϥΫϥΫʂActionͱ͔Ͱͳ͍͚Ͳ…
Implement Interface•͋Δstructͱ͔ʹඞཁͳϝιουΛͼΌͬʂͱੜͤΔ implement missing method Ͱ͢
Implements missing method•Γͳ͍ϝιουΛͼΌͬʂͱੜͤΔίϯύΠϥʹinterface࣮νΣοΫͤ͞ΒΕΔ
File… :Line:Column•File Ͱ :ߦ൪߸:ྻ൪߸ Ͱ֘ҐஔʹඈΔσόοάָ͕ʂ
Next Highlighted Error•Warning, Error etc ʹδϟϯϓͰ͖Δ•ίϯύΠϧΤϥʔͷमਖ਼࣌ʹศར
Show tabs in one row•Preferences > Editor > General > Editor Tabs•Show tabs in one row Λ disable ʹ͢Δ•λϒද͕ࣔ1ߦʹͳΔͷෆศͩΑͶ…•શ෦ݟ͑ͯΔͱͤ
Camel Case matching•ೖྗิͰ໊લΛશ෦ଧͭඞཁͳ͍•େจࣈ෦͚ͩͱ͔Ұ෦͚ͩͰOK͜͏͍͏໊લͷͭ͋ͬͨΑͳ…ʁͰίʔυ͕ॻ͚·͢(υΩϡϝϯτಡ͏
Quick Documentation•υΩϡϝϯτ͕γϡοͱݟΕ·͢•External Documentation͋ΔΑʂ•godocͷWebϖʔδ͕γϡοͱ։͘
Find in Path•ϓϩδΣΫτશମݕࡧͱ͔•Τϥʔϝοηʔδ͔ΒൃੜՕॴௐͨΓ•Replace in Path Α͍͘·͢
࠷ޙʹ
We are hiring!•͞ΒͳΔใࣾWikiSlackͰʂ•ΞΫηε͢Δʹೖࣾ͢Δ͔͠ͳ͍…ʂ•ϝϧΧϦˠ careers.mercari.com/•ϝϧϖΠˠ jp.merpay.com/careers/