問題タブ [language-server-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1607 参照

c# - テキスト エディターのオプションの下にある新しい C#_LSP エントリは何ですか?

Visual Studio 2019 には、C#_LSP という名前のテキスト エディター オプションの下に新しいエントリがあります。言語サーバー プロトコルと関係があると思いますが、エントリが正確に何に使用されているかを見つけることができませんでした。

それを使用する特定の標準ツールはありますか? それとも拡張性のためですか?

C#_LSP エントリは、テキスト エディタ オプションの C# エントリの下にあります。

0 投票する
0 に答える
616 参照

ios - Linux で iOS フレームワークの VSCode エディター補完を追加する方法

Mac から離れている間でも、VSCode を使用して Linux マシンで Swift コードのドラフトを作成できるようにしたいと考えています。sourcekit-lspしかし、iOS SDK からモジュールを認識させることができません。

私は時々 Mac にアクセスしますが、ほとんどは Linux マシンを使用しています。そのため、Mac でアプリをビルドできますが、VSCode を使用して Linux マシンで Swift コードを事前にドラフトできるようにしたいと考えています。

sourcekit-lspしかし、iOS SDK からモジュールを認識させることができません。TypeScript 開発者の場合と似てreferences.d.tsいますが、迅速で、VSCode/sourcekit-lsp のみがそれを気にします。

テキストエディタで調べたところ、必要なものを提供しているように見えるさまざまなファイルがXcode.app見つかりましたが、それらを見る方法がわかりません。.modulemap.swiftinterfacesourcekit-lsp

強調しておきますが、私はLinux マシンで iOS コードをコンパイルできるとは思っていませんし、そうしたいとも思っていません。私のトラブルシューティングでは、swift buildより意味のあるエラーを見つけるためだけに使用しました。私は実際のビルドが行われるとは思っていません - それが Mac の目的です。UIKit などのネイティブ モジュールのオートコンプリートを VSCode で使用できるようにしたいだけなので、後でそれを Mac にコピーしてテストできます。

奇妙なワークフローですが、私が今アクセスできるものです。

設定

フレームワーク/SDK にアクセスできるように、Xcode 11 ベータ版をダウンロードして解凍しました。sourcekit-lspただし、さまざまなフレームワークのヘッダーを理解する方法が見つからないようです。

また、swift は の下にインストールされ/usr/local/bin/swift-5.1-DEVELOPMENT-SNAPSHOT-2019-06-21-a-ubuntu18.04ます。

sourcekit-lspは多くのエラーをログに記録しないため、うまくいけば何かが見つかるまで、できるだけ「動作」に近づくように何度も試行することにしましたswift buildsourcekit-lsp

試行錯誤

これまで、さまざまなコマンドを試してきました。しかし、私はこれまでに得た最高の進歩をたどります。

swiftcSDK と iOS ターゲットを指定することから始めました。-sdk Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -target arm64-apple-ios13.0

これにより、モジュールが見つからないというエラーが修正されました(実行したときswift build

これは含まれていない迅速なライブラリであると推測したので、にコピーXcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneosしました。これにより/usr/local/bin/swift-5.1-DEVELOPMENT-SNAPSHOT-2019-06-21-a-ubuntu18.04/usr/lib/swift/iphoneos、実際に上記のエラーが修正されます。

私が立ち往生している場所

今、swift build私に新しいエラーを与えます:

さらに、VSCode に戻ると、モジュールのインポート ( などFoundation) にカーソルを合わせると、別のエラーが発生します。

これらのエラーを修正しようとしましたが、成功しませんでした。働く必要はありませんが、UIKit などを使用するコードを書けるようswift buildにしたいだけです。sourcekit-lsp

Package.swift

0 投票する
1 に答える
360 参照

typescript - Language Server Protocol を使用して TS をシンボルに解析するにはどうすればよいですか?

私はこのテーマに慣れていないので、重要な用語をいくつか間違っている可能性があります。typescript ファイルをそのコンポーネント シンボルに解析したいと思います。私が想像するものの非常に大雑把な例を挙げると、以下を参照してください。

次のようなものを作成します。

このシンボル化/トークン化は言語サーバーの初期化フェーズの一部であり、この問題から収集しようとしていると確信しています ( https://github.com/Microsoft/language-server-protocol/issues/33 )。

しかし、初期化に関するドキュメント ( https://microsoft.github.io/language-server-protocol/specification#initialize ) を読みましたが、返されるシンボルまたはトークンについて何も (ctrl-f) 見つけることができませんでした。

少し前に私は Monaco と仕事をしていましたが、言語サーバーの主な目的はコードのトークン化とリンク/ナビゲートを標準化することであることを知っているので、これが適切なツールであると確信しています。しかし、ドキュメントは非常に密集しており、コードの解析よりもコードの相互作用に重点を置いているようです。

Language Server Protocol を使用して TS をシンボルに解析するにはどうすればよいですか?

編集:これがプロジェクト自体である場合に備えて、言及することをお勧めします:これまたは何かの完全なコードを探しているわけではありません。何が起こっているかについての大雑把な概要と、関連するドキュメントへのリンク/抜粋です。

編集 2: ここで非常によく似た質問 ( TypeScript: get syntax tree ) を見つけましたが、それは言語サーバーについて言及しておらず、それより前の時代から来たようです。

編集 3: 私が探していた適切な用語は AST のようです。TypeScript ( https://ts-ast-viewer.com/ )用の本当にクールなツールをオンラインで見つけました。