Microsoft の Multilspy が注目を集める中、コミュニティで言語サーバーの選択肢について議論が活発化

BigGo Editorial Team
Microsoft の Multilspy が注目を集める中、コミュニティで言語サーバーの選択肢について議論が活発化

Microsoft の Multilspy の最近のリリースにより、開発者コミュニティ内で言語サーバーの実装とライセンスに関する興味深い議論が巻き起こっています。 Multilspy は言語サーバークライアントの作成を簡素化することを目指していますが、コミュニティの反応は言語サーバーの選択と実装に関する微妙な側面を浮き彫りにしています。

現在 Multilspy でサポートされている言語:

  • Java
  • Python
  • C
  • Rust
  • JavaScript

言語サーバーのライセンスの複雑さ

Python と C# 開発における言語サーバーの選択について、重要な議論点が浮上しています。コミュニティメンバーは、 Microsoft の Pylance が強力なツールである一方で、そのライセンスが Microsoft 公式製品のみに制限されていることを指摘しています。これにより、 Multilspy での Python 実装には Jedi Language Server などの代替選択肢が採用されています。同様に、 C# における OmniSharp から Roslyn Language Server への移行についても、サーバー選択に関する疑問が提起されています。

Roslyn Language Server の使用には特別なライセンス条項はありません。これは VSC の基本 C# 拡張機能が使用しているものです。クローズドソースなのはデバッガーであり、カスタムライセンス条項は主にそのデバッガーとサブスクリプション制の Dev Kit 拡張機能に適用されます。

主要な言語サーバーの概要:

  • Pylance (Microsoft制限付き)
  • Jedi Language Server (オープン)
  • Pyright (MITライセンス)
  • Roslyn Language Server (オープン)
  • OmniSharp (非推奨)

オープンソースの代替案とコミュニティソリューション

コミュニティは、特に Pyright を Pylance の有力な代替として強調し、実行可能なオープンソースの選択肢を提示しています。 MIT ライセンスで運用される Pyright は、実際にその上に構築されている Pylance と同等の機能を提供しており、制限のない言語サーバー実装を求める開発者にとって実用的なソリューションとなっています。

実世界での実装課題

開発者たちは、特にサーバーの初期化と設定に関する困難さを中心に、言語サーバー実装での経験を共有しています。ある開発者の Java 言語サーバー統合での苦労は、 Multilspy の標準化されたアプローチの価値を浮き彫りにしています。プロジェクトの作者は、コミュニティと積極的に関わり、適切なドキュメンテーションと設定の共有の重要性を強調しています。

今後の影響

Multilspy を巡る議論は、言語サーバー実装に関する標準化された、十分に文書化されたアプローチへの業界全体のニーズを明らかにしています。言語サーバー設定の中央リポジトリを作成するというプロジェクトの目標は、実装の障壁を大幅に低減し、クロスプラットフォーム開発体験を向上させる可能性があります。

注:Language Server Protocol(LSP)は、開発ツールが自動補完、定義へのジャンプ、ホバー時のドキュメント表示などの言語機能を提供するサーバーと通信できるようにする標準化されたプロトコルです。

参考: Multilspy: 言語サーバーを中心にアプリケーションを構築するための Python LSP クライアントライブラリ