問題タブ [languageservice]

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 に答える
88 参照

visual-studio - カスタム Visual Studio 言語サービスのナビゲーション バーの最初のエントリの重複

会社で内部的に使用されているカスタム スクリプト言語用に Visual Studio 言語サービスを実装していますが、TypeAndMemberDropdownBarsのサブクラスとして実装されたナビゲーション バーで問題が発生しました。サブクラスは、LanguageService サブクラスのLanguageService.CreateDropDownHelperメソッドによって作成されます。

OnSynchronizeDropdownsメソッドでは、ファイルで定義されている型を反復処理し、渡された配列にDropDownMembersを追加して、ナビゲーション バーを埋めています。私が見ている問題は、配列の最初の項目が複製され、アクセスできないコードによってリストの最後に配置されていることです。この余分な項目は、選択すると正しく動作しません (何も起こりません) が、他の問題は発生していないようです。リスト内の残りの項目は正常に機能します。さらに、これはタイプ ドロップダウン ボックスでのみ発生するようです。メンバー ドロップダウン ボックスでは、この動作は表示されません。

他の誰かがこの問題を見て解決し、何らかの支援を提供できることを願っています。ありがとう!

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

languageservice - 言語サービス: 強制的に解析する方法はありますか?

私は言語サービスに取り組んでおり、ユーザーがコードを入力した後の解析をより高速にしたいと考えています。

ParseReason.Check現在、MSDN に記載されているandメカニズムに依存していOnIdleますが、多くの場合、ユーザーがコードを入力してから時間が経ってから呼び出されます。カーソルを別の行に移動して、より速くトリガーすることが役立つ場合があります。

私がやりたいのは、ユーザーがファイルに入力したことを検出した後、ファイルを強制的に解析することです。ユーザーが入力していることを検出できますが、パーサーをトリガーする方法がわかりませんParseRequest

0 投票する
3 に答える
182 参照

visual-studio-2010 - 言語サービス: VS2010 への移行後に ParseReason.Check が呼び出されない

言語サービスを VS2008 から VS2010 に移行しました。1 つの重要なことを除いて、すべて正常に動作LanguageService.ParseSourceParseReason.Checkます。ファイルを開いた後、単一の呼び出しを取得します。しかし、コードを編集すると、呼び出されなくなります。

それを引き起こしている可能性のあるアイデアはありますか?

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

c# - Visual Studio カスタム言語サービス

MPF を使用して VSPackage に言語サービスを実装しようとしていますが、理解したとおりに機能していません。

ParseSourceで入力ファイルを解析するなど、すでにいくつかの実装がありますParseRequest。ただし、エラーが見つかった場合は、 で追加しAuthoringSink.AddErrorます。これに関するドキュメントは、それがエラーリストに追加されることを意味します。そうではありません。

MySourceのサブクラスである単純なクラスもありSourceます。オーバーライドされたLanguageService.CreateSourceメソッドでこの新しいクラスを返します。のドキュメントにOnCommandは、「コマンドが入力されたときに」起動されると書かれています。しかし、そうではありません。

明らかに、私が正しく行っていない中間ステップがあります。私はすでに十分にとりとめなかったので、リクエストに応じて追加の詳細を喜んで提供します.

説明をいただければ幸いです。

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

visual-studio-2010 - Visual Studio 2010 に簡単な言語サポートを追加

Visual Studio 2010 を使用していくつかの VBScript を開発しています。この言語のネイティブ サポートは優れていないため、今後はこれらの言語のサポートを改善できるように言語サービス / VS 拡張機能を利用することを検討したいと考えています。しかし今のところ、いくつかの機能を追加して生活をシンプルにしたいと考えています。

  • VS タスク リストが自分の「todo:コメント」を認識できるようにする
  • c# のような#region...#endregion機能を使用して、スクリプトをより読みやすいブロックに簡単に分割できるようにします (VBScript に準拠するために、ハッシュの前にアポストロフィを付けてコメントにします)。

VS で構成することによってこれを行う簡単な方法はありますか、またはこの機能を得るために言語サービス全体を作成する必要がありますか? 私が求めていることは不可能かもしれません。しかし、偶然に尋ねる価値があると思いました。

前もって感謝します。

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

typescript - 言語サービスのホストの実装

src \ servicesコードを読んだ後、これは言語サービスのホストが満たさなければならないインターフェースのようです。

ドキュメントやサンプルを見つけることができませんでした。いくつかの方法は自明ですが、他の方法は特にそうではありません。

言語サービスAPIを使用する準備はできていますか?誰かが上記の方法の目的を簡単に説明できますか?

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

visual-studio - カスタムVisualStudio言語サービスでのユーザー指定のファイル拡張子のサポート

私はカスタムVisualStudio言語サービスに取り組んでおり、ファイル拡張子が特定の言語サービスにバインドされる方法に関していくつか質問があります。

言語「ExampleLanguage」のソースファイルには、2つの主要なファイル拡張子があります:.e1.e2ExampleLanguagePackage私の拡張機能には、を拡張するクラスがありますPackage

  1. [ファイル]→[開く]コマンドを使用してC#ファイルを選択すると(たとえば)、[開く]ボタンには[プログラムから開く...]を選択できるドロップダウン矢印があります。そのボタンをクリックすると、「CSharp Editor(デフォルト)」、「CSharp Editor with Encoding」、またはその他のいくつかのオプションでファイルを開くためのオプションが表示されます。「サンプル言語(デフォルト)」および「エンコーディング付きのサンプル言語」オプションを提供して、自分の言語に同様の機能を提供するにはどうすればよいですか?

  2. [ツール]→[オプション...]→[テキストエディタ]→[ファイル拡張子]を開くと、(たとえば).foo拡張子を「MicrosoftVisualC#」または他のいくつかのオプションのいずれかにバインドすることができます。このページを拡張して、ユーザー定義のファイル拡張子を「サンプル言語」に関連付けるにはどうすればよいですか?

  3. これらのアイテムを登録するとき、他に何に注意する必要がありますか?

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

c# - Visual Studio 言語パックでコードの書式設定を自動化するにはどうすればよいですか?

私が取り組んでいる言語パッケージがあり、パッケージにコードの書式を設定しました。EDIT>ADVANCED>FORMAT DOCUMENTに移動して機能させる方法は知っていますが、ドキュメントには、ユーザーが入力すると自動的にこれを行うことができると書かれています。ただし、私が見ることができる詳細には触れていません。

では、コードが書かれているときに言語パックにリアルタイムでフォーマットを行わせるにはどうすればよいでしょうか?

編集: これまでに参照してきたものは次のとおりです: http://msdn.microsoft.com/en-us/library/bb164633.aspx

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

visual-studio-extensions - パッケージなしで HTML エディターに HTML 派生コンテンツ タイプを登録しますか?

MSDN フォーラムでのこの質問と同様に、カスタム コンテンツ タイプを登録しようとしています。

BaseDefinitionasを指定することhtmlで、ファイル内で HTML の強調表示を取得でき.mycustomますが、残念ながら、特に HTML インテリセンスは取得できません。上記のリンクから、Visual Studio にカスタム拡張機能を特定のエディター タイプとして認識させる唯一の方法のようですが、レジストリをハックする必要があります (より具体的には、ProvideEditorExtension属性を介してこれを提供しますが、VSPackage にのみ適用されます)。 )。

したがって、私の質問は、基本的に、プログラムでエディターにカスタム拡張機能を登録する代わりの方法がありますが、そのためのカスタム VSPackage を作成する必要はありませんか? もちろん、レジストリをハッキングする以外に?

(私はアプローチに完全に間違っている可能性があります。その場合、あなたの助けは大歓迎です!)

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

c# - Visual Studio 2010 言語サービスでの参照の検索の実装

カスタム スクリプト言語用の Visual Studio 言語サービスを実装しています。構文の強調表示、エラー チェック、コード補完、および「定義へ移動」を実装することができました。「Find All References」メニューオプションに接続する方法を理解するのに苦労しています(または、この時点で表示することさえできます)。

カスタム言語の Visual Studio で「すべての参照を検索」機能を実装するための便利なリソースを教えてもらえますか? グーグルで情報を探してみましたが、何も見つからないようです。