본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Rustowl

0

Rustowl은 Rust 코드의 소유권 이동과 변수의 라이프타임을 시각화하여 디버깅과 최적화를 돕는 개발자 도구입니다.

개발자 도구소유권수명시각화

소개

Rustowl은 Rust 코드의 소유권 이동과 변수의 라이프타임을 시각화하여 디버깅과 최적화를 돕는 개발자 도구입니다. Cordx56이 개발했으며, MPL-2.0 라이선스로 배포됩니다. Rust 소스 코드를 저장하면 분석이 수행되고, 변수나 함수 호출 위에 마우스를 올리면 소유권과 라이프타임이 색상으로 표시됩니다.

상세정보

소유권 이동 시각화

변수의 소유권 이동을 주황색 밑줄로 표시하여 값이 이동되는 시점을 한눈에 파악할 수 있습니다.

라이프타임 시각화

변수의 라이프타임을 녹색 밑줄로 표시하며, 확실히 살아있는 경우와 일부 경로에서만 살아있는 경우를 구분합니다.

대여 상태 표시

불변 대여는 파란색, 가변 대여는 보라색 밑줄로 표시하여 대여 상태를 명확히 보여줍니다.

라이프타임 오류 감지

라이프타임 오류가 발생한 위치를 빨간색 밑줄로 표시하여 문제를 신속하게 찾을 수 있습니다.

VS Code 확장 프로그램

VS Code 마켓플레이스에서 ‘rustowl-vscode’ 확장을 설치하면 RustOwl이 자동으로 설치됩니다. 설치 후 Rust 프로그램을 저장하면 분석이 시작됩니다.

Neovim 플러그인

lazy.nvim을 사용하여 플러그인을 설치하고, ‘cargo install rustowl’ 명령으로 RustOwl을 설치합니다.

Emacs 패키지

Elpaca를 통해 패키지를 설치하고, LSP 서버를 수동으로 설치해야 합니다.

활용 예시

  • Rust 코드에서 소유권 이동이 발생하는 지점을 시각적으로 확인하여 코드 리팩토링에 활용할 수 있습니다.
  • 라이프타임 오류가 발생한 위치를 빠르게 파악하여 수정 시간을 단축할 수 있습니다.
  • 대여 규칙 위반을 시각적으로 확인하여 안전한 동시성 코드를 작성하는 데 도움을 받을 수 있습니다.

지원 환경

RustOwl은 Rust의 최신 5개 버전을 지원합니다. VS Code, VSCodium, Neovim, Emacs 등 다양한 에디터에서 사용할 수 있으며, LSP 서버를 통해 다른 에디터에서도 확장할 수 있습니다.

버전 및 업데이트

현재 버전은 0.3.4이며, GitHub 릴리스 페이지에서 최신 버전과 변경 사항을 확인할 수 있습니다.

라이선스 및 확인 사항

RustOwl은 MPL-2.0 라이선스로 배포됩니다. VS Code의 장식 기능 제한으로 인해 일부 문자(예: g, 괄호)에서 밑줄이 제대로 표시되지 않을 수 있습니다.

시스템 요구사항

Rust 및 Cargo 설치 필요. 지원 OS: Windows, macOS, Linux. 아키텍처: x64. 에디터: VS Code, VSCodium, Neovim, Emacs 등.