π go.nvim β ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Go Π² Neovim
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° Go, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
Neovim, ΠΏΠ»Π°Π³ΠΈΠ½ go.nvim ΡΡΠ°Π» Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π²
ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ IDE. ΠΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: ΠΎΡ
Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄ΠΎ
ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ go.nvim ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ Π²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
π§ Π§ΡΠΎ ΡΠΌΠ΅Π΅Ρ go.nvim?
ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ:
β‘οΈΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Treesitter Π΄Π»Ρ ΡΠΎΡΠ½ΠΎΠΉ ΠΈ Π±ΡΡΡΡΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
β‘οΈΠ£Π»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ Go-ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ:
β‘οΈΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· libuv.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ LSP, Π²ΠΊΠ»ΡΡΠ°Ρ:
β‘οΈΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
β‘οΈΠΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΎΠ².
β‘οΈΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠΎΠ².
β‘οΈΠΠ²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Go-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
β‘οΈΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΠΊ go mod tidy, fillstruct, impl ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
.
β‘οΈΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ.
ΠΡΠ»Π°Π΄ΠΊΠ° (Debugging):
β‘οΈΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ DAP Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Go-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΡΠΌΠΎ ΠΈΠ· Neovim.
β‘οΈΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ launch.json.
ΠΠΈΠ±ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°:
β‘οΈΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°.
π ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°
πΈΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Go ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°