問題タブ [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.
visual-studio - カスタム Visual Studio 言語サービスのナビゲーション バーの最初のエントリの重複
会社で内部的に使用されているカスタム スクリプト言語用に Visual Studio 言語サービスを実装していますが、TypeAndMemberDropdownBarsのサブクラスとして実装されたナビゲーション バーで問題が発生しました。サブクラスは、LanguageService サブクラスのLanguageService.CreateDropDownHelperメソッドによって作成されます。
OnSynchronizeDropdownsメソッドでは、ファイルで定義されている型を反復処理し、渡された配列にDropDownMembersを追加して、ナビゲーション バーを埋めています。私が見ている問題は、配列の最初の項目が複製され、アクセスできないコードによってリストの最後に配置されていることです。この余分な項目は、選択すると正しく動作しません (何も起こりません) が、他の問題は発生していないようです。リスト内の残りの項目は正常に機能します。さらに、これはタイプ ドロップダウン ボックスでのみ発生するようです。メンバー ドロップダウン ボックスでは、この動作は表示されません。
他の誰かがこの問題を見て解決し、何らかの支援を提供できることを願っています。ありがとう!
languageservice - 言語サービス: 強制的に解析する方法はありますか?
私は言語サービスに取り組んでおり、ユーザーがコードを入力した後の解析をより高速にしたいと考えています。
ParseReason.Check
現在、MSDN に記載されているandメカニズムに依存していOnIdle
ますが、多くの場合、ユーザーがコードを入力してから時間が経ってから呼び出されます。カーソルを別の行に移動して、より速くトリガーすることが役立つ場合があります。
私がやりたいのは、ユーザーがファイルに入力したことを検出した後、ファイルを強制的に解析することです。ユーザーが入力していることを検出できますが、パーサーをトリガーする方法がわかりませんParseRequest
。
visual-studio-2010 - 言語サービス: VS2010 への移行後に ParseReason.Check が呼び出されない
言語サービスを VS2008 から VS2010 に移行しました。1 つの重要なことを除いて、すべて正常に動作LanguageService.ParseSource
しParseReason.Check
ます。ファイルを開いた後、単一の呼び出しを取得します。しかし、コードを編集すると、呼び出されなくなります。
それを引き起こしている可能性のあるアイデアはありますか?
c# - Visual Studio カスタム言語サービス
MPF を使用して VSPackage に言語サービスを実装しようとしていますが、理解したとおりに機能していません。
ParseSource
で入力ファイルを解析するなど、すでにいくつかの実装がありますParseRequest
。ただし、エラーが見つかった場合は、 で追加しAuthoringSink.AddError
ます。これに関するドキュメントは、それがエラーリストに追加されることを意味します。そうではありません。
MySource
のサブクラスである単純なクラスもありSource
ます。オーバーライドされたLanguageService.CreateSource
メソッドでこの新しいクラスを返します。のドキュメントにOnCommand
は、「コマンドが入力されたときに」起動されると書かれています。しかし、そうではありません。
明らかに、私が正しく行っていない中間ステップがあります。私はすでに十分にとりとめなかったので、リクエストに応じて追加の詳細を喜んで提供します.
説明をいただければ幸いです。
visual-studio-2010 - Visual Studio 2010 に簡単な言語サポートを追加
Visual Studio 2010 を使用していくつかの VBScript を開発しています。この言語のネイティブ サポートは優れていないため、今後はこれらの言語のサポートを改善できるように言語サービス / VS 拡張機能を利用することを検討したいと考えています。しかし今のところ、いくつかの機能を追加して生活をシンプルにしたいと考えています。
- VS タスク リストが自分の「todo:コメント」を認識できるようにする
- c# のような#region...#endregion機能を使用して、スクリプトをより読みやすいブロックに簡単に分割できるようにします (VBScript に準拠するために、ハッシュの前にアポストロフィを付けてコメントにします)。
VS で構成することによってこれを行う簡単な方法はありますか、またはこの機能を得るために言語サービス全体を作成する必要がありますか? 私が求めていることは不可能かもしれません。しかし、偶然に尋ねる価値があると思いました。
前もって感謝します。
typescript - 言語サービスのホストの実装
src \ servicesコードを読んだ後、これは言語サービスのホストが満たさなければならないインターフェースのようです。
ドキュメントやサンプルを見つけることができませんでした。いくつかの方法は自明ですが、他の方法は特にそうではありません。
言語サービスAPIを使用する準備はできていますか?誰かが上記の方法の目的を簡単に説明できますか?
visual-studio - カスタムVisualStudio言語サービスでのユーザー指定のファイル拡張子のサポート
私はカスタムVisualStudio言語サービスに取り組んでおり、ファイル拡張子が特定の言語サービスにバインドされる方法に関していくつか質問があります。
言語「ExampleLanguage」のソースファイルには、2つの主要なファイル拡張子があります:.e1
と.e2
。ExampleLanguagePackage
私の拡張機能には、を拡張するクラスがありますPackage
。
[ファイル]→[開く]コマンドを使用してC#ファイルを選択すると(たとえば)、[開く]ボタンには[プログラムから開く...]を選択できるドロップダウン矢印があります。そのボタンをクリックすると、「CSharp Editor(デフォルト)」、「CSharp Editor with Encoding」、またはその他のいくつかのオプションでファイルを開くためのオプションが表示されます。「サンプル言語(デフォルト)」および「エンコーディング付きのサンプル言語」オプションを提供して、自分の言語に同様の機能を提供するにはどうすればよいですか?
[ツール]→[オプション...]→[テキストエディタ]→[ファイル拡張子]を開くと、(たとえば)
.foo
拡張子を「MicrosoftVisualC#」または他のいくつかのオプションのいずれかにバインドすることができます。このページを拡張して、ユーザー定義のファイル拡張子を「サンプル言語」に関連付けるにはどうすればよいですか?これらのアイテムを登録するとき、他に何に注意する必要がありますか?
c# - Visual Studio 言語パックでコードの書式設定を自動化するにはどうすればよいですか?
私が取り組んでいる言語パッケージがあり、パッケージにコードの書式を設定しました。EDIT>ADVANCED>FORMAT DOCUMENTに移動して機能させる方法は知っていますが、ドキュメントには、ユーザーが入力すると自動的にこれを行うことができると書かれています。ただし、私が見ることができる詳細には触れていません。
では、コードが書かれているときに言語パックにリアルタイムでフォーマットを行わせるにはどうすればよいでしょうか?
編集: これまでに参照してきたものは次のとおりです: http://msdn.microsoft.com/en-us/library/bb164633.aspx
visual-studio-extensions - パッケージなしで HTML エディターに HTML 派生コンテンツ タイプを登録しますか?
MSDN フォーラムでのこの質問と同様に、カスタム コンテンツ タイプを登録しようとしています。
BaseDefinition
asを指定することhtml
で、ファイル内で HTML の強調表示を取得でき.mycustom
ますが、残念ながら、特に HTML インテリセンスは取得できません。上記のリンクから、Visual Studio にカスタム拡張機能を特定のエディター タイプとして認識させる唯一の方法のようですが、レジストリをハックする必要があります (より具体的には、ProvideEditorExtension
属性を介してこれを提供しますが、VSPackage にのみ適用されます)。 )。
したがって、私の質問は、基本的に、プログラムでエディターにカスタム拡張機能を登録する代わりの方法がありますが、そのためのカスタム VSPackage を作成する必要はありませんか? もちろん、レジストリをハッキングする以外に?
(私はアプローチに完全に間違っている可能性があります。その場合、あなたの助けは大歓迎です!)
c# - Visual Studio 2010 言語サービスでの参照の検索の実装
カスタム スクリプト言語用の Visual Studio 言語サービスを実装しています。構文の強調表示、エラー チェック、コード補完、および「定義へ移動」を実装することができました。「Find All References」メニューオプションに接続する方法を理解するのに苦労しています(または、この時点で表示することさえできます)。
カスタム言語の Visual Studio で「すべての参照を検索」機能を実装するための便利なリソースを教えてもらえますか? グーグルで情報を探してみましたが、何も見つからないようです。