업체에 따르면 현재 VS 코드의 C# 확장은 닷넷 도구 개발사 옴니샤프(OmniSharp)가 사용 가능한 API 및 프로토콜을 기반으로 제공하고 있다. 마이크로소프트의 닷넷 및 비주얼 스튜디오 프로그램 관리자 팀 휴어는 옴니샤프의 깃허브 리포지토리에서 “이제 LPS는 최신 개발자 도구 간 표준 통신 메커니즘이 됐다”라고 밝혔다.
이에 따라 LSP를 사용해 통신할 수 있도록 C# 확장을 전환하고, 아울러 기존 옴니샤프 구성 요소도 업데이트된다. 또한 LSP를 활용하면 인텔리코드(IntelliCode)와 같은 비개방형 소스 환경을 비롯해 C# 확장에 새로운 기능을 추가할 수 있다.
아울러 마이크로소프트는 로슬린(Roslyn) 컴파일러 및 레이저 도구 등의 오픈소스 구성 요소를 비개방형 구성 요소와 통합해 광범위한 도구 기능을 제공하는 ‘LSP 도구 호스트’ 구성 요소를 생성한다. 휴어는 “C# 확장을 LSP로 옮기면 새로운 기능을 VS 코드용 C#에 쉽게 통합하는 확장 가능하고 유연한 도구 환경을 구축하는 데 도움이 되리라 본다”라고 말했다.
C# 확장 사용자는 현 오픈소스 옴니샤프 기반 시스템 또는 새로운 LSP 도구 호스트 중 하나를 선택할 수 있다. 단, LSP 도구 호스트는 오픈소스가 아니다. 다음 단계는 아래와 같다.
- 기본적으로 LSP를 통해 옴시샤프 서버와 통신하도록 VS 코드용 C# 확장을 업데이트한다.
- 기본적으로 LSP 도구 호스트를 활용하도록 C# 확장을 전환하고, 사용자가 대체 언어 서버를 선택할 수 있도록 한다.
- 더 많은 기능이 번들로 제공되는 새 기본값과 함께 VS 코드용 C# 확장을 제공한다.
- 확장을 github.com/OmniSharp/omnisharp-vscode에서 마이크로소프트가 유지관리하는 github.com/dotnet/vscode-csharp로 옮긴다.
ciokr@idg.co.kr