"Configure your IntelliSense settings" displays on startup with file already open, if using a custom config provider

オープン
#10,875 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp, typescript, vscode

調査の方向性

すでに開かれている .cpp ファイルの起動時の処理、カスタム構成プロバイダーの登録、および "Configure your IntelliSense settings" プロンプトから始めます。Issue の手順を再現し、missing-header の問題が残っていない状態でカスタム構成が登録された後に、プロンプトが表示されないことを確認します。

索引モデルが issue の本文から書いたものです。

説明

Feature: Configuration Language Service

Repro steps:

  • Use a workspace folder configured using a custom configuration provider.
  • Leave a .cpp file open when the workspace folder was last used.
  • Open that workspace folder.

Seeing:
image

Note that there are no 'problems' here to resolve.

Expected: No prompt to fix my missing headers when there are none missing.

This is likely happening for everyone who use custom configuration providers (including those who are automatically configured to use one), any time they open a workspace folder that already has a .cpp file open.

When cpptools starts up, there is a brief period of time in which the custom configuration would not yet be registered. Rather than wait for it to register, a TU is started (for the already open file in the editor) with the base configuration, which likely will not be a proper configuration for the file. Moments later, as the custom configuration provider registers, the TU is recreated, and any transient errors are cleared out. Yet, this dialog is still displayed.

One possible solution would be to delay this dialog until a certain amount of time after start-up, and not display it if whatever issue that triggered it has already been resolved.

Ideally, we could remove this prompt whenever we see that there is no longer any such issue to address. If it's not possible to programmatically dismiss the dialog, perhaps we should open a feature request for that against VS Code.

主要言語
TypeScript
スター
6.2k
フォーク
1.7k
平均マージ
14時間 46分
マージ済み PR(30日)
61

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/vscode-cpptools のほかの issue

microsoft/vscode-cpptools の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。