Opt out of IntelliSense-ready deferral for the Python profiling session editor - #8583
Conversation
…on editor
The .pyperf profiling session editor doesn't use CodeModel, so it has no reason to wait for IntelliSense before opening. Switching from ProvideEditorExtension to ProvideEditorExtension2 adds DeferUntilIntellisenseIsReady=dword:00000000 under the Editors\{factory} key, opting the editor out of the deferral so it opens immediately.
With the arguments used here the two attributes produce identical registration; the only difference is that added value. The code paths where they diverge (params extensions, template-dir escaping, linked-editor GUID, common view attributes) aren't exercised.
*Cowritten with Copilot (Claude Opus 4.8)*
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
|
🔒 Automated review in progress — Heejae Chang (@heejaechang) is auto-reviewing this PR. |
There was a problem hiding this comment.
Pull request overview
This PR updates the Python profiling session editor registration so .pyperf files open immediately instead of waiting for IntelliSense readiness, aligning with the fact that the profiling session editor does not rely on CodeModel.
Changes:
- Swaps the package registration attribute from
ProvideEditorExtensiontoProvideEditorExtension2for the.pyperfeditor factory. - Opts the editor out of IntelliSense-ready deferral by ensuring
DeferUntilIntellisenseIsReady=0is written under the editor’s registry key during registration.
Heejae Chang (heejaechang)
left a comment
There was a problem hiding this comment.
Approved via Review Center.
|
Heejae Chang (@heejaechang) Would you be able to merge this on completion, I don't have permissions. |
|
Heejae Chang (@heejaechang) Actually, the thing is blocked because I don't have permissions to run the build. |
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |



The .pyperf profiling session editor doesn't use CodeModel, so it has no reason to wait for IntelliSense before opening. Switching from ProvideEditorExtension to ProvideEditorExtension2 adds DeferUntilIntellisenseIsReady=dword:00000000 under the Editors{factory} key, opting the editor out of the deferral so it opens immediately.
With the arguments used here the two attributes produce identical registration; the only difference is that added value. The code paths where they diverge (params extensions, template-dir escaping, linked-editor GUID, common view attributes) aren't exercised.
Cowritten with Copilot (Claude Opus 4.8)