Vscode-rust: ์™œ Nightly๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2018๋…„ 04์›” 29์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: rust-lang/vscode-rust

์ด vscode ํ™•์žฅ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฑฐ ์ข‹๋„ค! ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๊ฐ€ ์ฒ˜์Œ ์„ค์น˜ํ–ˆ์„ ๋•Œ ๋ฐค์— ๋จผ์ € Rust๋ฅผ ์„ค์น˜ํ•œ ๋‹ค์Œ RLS๋ฅผ ์„ค์น˜ํ–ˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๋งˆ์น˜ vscode ์„ค์ •์ด RLS๋ฅผ ๋ถ€ํŒ…ํ•˜๊ธฐ ์œ„ํ•ด ์•ผ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋ฏฟ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๊ฐ€ ์ด์•ผ๊ธฐํ•œ Rust ์‚ฌ์šฉ์ž๋Š” Rust 1.21 ์ดํ›„๋กœ RLS๊ฐ€ ์•ผ๊ฐ„์— ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๊ณ  ์•Œ๋ ค์™”์Šต๋‹ˆ๋‹ค. RLS ์ง€์นจ https://github.com/rust-lang-nursery/rls ๋Š” ์ตœ์‹  ๋ฒ„์ „๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

Rust Nightly ์„ค์น˜๊ฐ€ ์‹ค์ œ๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด RLS๊ฐ€ ์•ผ๊ฐ„์— ํ•„์š”ํ•  ๋•Œ์˜ ํ”์ ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฐฉ๊ธˆ v0.4.2 ๋ฅผ ์„ค์น˜ํ–ˆ๊ณ  "Rust (rls) (Extension)"์—์„œ ๋‘ ๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

์•ผ๊ฐ„ ๋„๊ตฌ ๋ชจ์Œ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„ค์น˜?"

๊ทธ๋ฆฌ๊ณ 

RLS๋Š” Rust sysroot๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— Racer์— ๋Œ€ํ•ด RUST_SRC_PATH๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

image

์ €๋Š” vscode ์˜ ์ตœ์‹  ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ osx๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  rustup ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.


์‚ฌ์šฉ์ž ์„ค์ •์—์„œ "rust-client.channel": "stable" ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์‹ค์ œ๋กœ ํ•œ ์ผ์ด์ง€๋งŒ ๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

  • ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜ ํŒ์—…์ด ๋‚˜ํƒ€๋‚จ).
  • ๋ช…๋ น์ค„์—์„œ rustup component add rls-preview rust-analysis rust-src ์‹คํ–‰
  • ์‚ฌ์šฉ์ž ์„ค์ • "rust-client.channel": "stable"
  • ํ™•์žฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ž‘์—… ๊ณต๊ฐ„์„ ๋‹ค์‹œ ๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ™•์žฅ ๋ฐ ์ž‘์—… ๊ณต๊ฐ„์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ผํ•˜๊ณ ์žˆ๋Š”!

๋ชจ๋“  4 ๋Œ“๊ธ€

์ด๊ฒƒ์€ ํ”์ ์ ์ธ ๊ฒฐํ•จ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์กฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค...

๋ฐฉ๊ธˆ v0.4.2 ๋ฅผ ์„ค์น˜ํ–ˆ๊ณ  "Rust (rls) (Extension)"์—์„œ ๋‘ ๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

์•ผ๊ฐ„ ๋„๊ตฌ ๋ชจ์Œ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„ค์น˜?"

๊ทธ๋ฆฌ๊ณ 

RLS๋Š” Rust sysroot๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— Racer์— ๋Œ€ํ•ด RUST_SRC_PATH๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

image

์ €๋Š” vscode ์˜ ์ตœ์‹  ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ osx๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  rustup ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.


์‚ฌ์šฉ์ž ์„ค์ •์—์„œ "rust-client.channel": "stable" ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์‹ค์ œ๋กœ ํ•œ ์ผ์ด์ง€๋งŒ ๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

  • ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜ ํŒ์—…์ด ๋‚˜ํƒ€๋‚จ).
  • ๋ช…๋ น์ค„์—์„œ rustup component add rls-preview rust-analysis rust-src ์‹คํ–‰
  • ์‚ฌ์šฉ์ž ์„ค์ • "rust-client.channel": "stable"
  • ํ™•์žฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ž‘์—… ๊ณต๊ฐ„์„ ๋‹ค์‹œ ๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ™•์žฅ ๋ฐ ์ž‘์—… ๊ณต๊ฐ„์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ผํ•˜๊ณ ์žˆ๋Š”!

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด rustup show ์˜ ์ถœ๋ ฅ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์•„๋งˆ๋„ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

Rustup์€ ์ด์— ๋Œ€ํ•œ ์•ˆ์ •์ ์ธ ๊ธฐ๊ณ„ ๊ตฌ๋ฌธ ๋ถ„์„ ์ถœ๋ ฅ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค( https://github.com/rust-lang-nursery/rustup.rs/issues/450 ์ฐธ์กฐ).

์ฐธ์กฐ: https://github.com/rust-lang-nursery/rls-vscode/blob/3dc3987eb215cb4d72252ea17e853e19023cea48/src/rustup.ts#L193 -L212

Rustup์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ˆ์ •์ ์ธ ๋„๊ตฌ ๋ชจ์Œ๋„ ์„ค์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— "rust-client.channel": "stable" ๊ฐ€ ๊ธฐ๋ณธ ์„ค์ •์ด๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰