- Adopting for code blocks
- Switching to use safer `LocalChatSessionUri.parseLocalSessionId` in a few more spots
- Adopting for some contexts and a few more apis
* disable auto-accept for inline chat
* hide inline chat via ESC more
* inline - render picker below input
* remove unneccessary v2 actions
* fix `Enter` to only accept from input when there is no new text typed
* custom placeholder, use prompt as placeholder while request is on
* no min width for inline chat widget
Moves the chat service public APIs to use uris for identifying sessions instead of ids. These uris are preferred as they work correctly for both contributed and local session
This ends up touch a lot of the chat apis. In most cases, the change is simply to pass in the URI instead of the id. In a few cases where the URI hasn't been fully hooked up, I am using `LocalChatSessionUri` to do this conversation
For the chat session implementation, I also switched to use resource maps to store session specific information instead of a normal map
* wip - have a tool that allows inline chat to escape
* wip
* improve move session
* inline chat v2 UI tweaks
* pick up "selected" diagnostics and add them as attachments
* show inline chat widget always above selection
* tweak inline escape tool
* remove `hideOnRequest`
* use `inlineChatApplyEdit` when using inline chat
* make sure to position zone above changes if otherwise inbetween
* 💄
* add logging
* * add inline v2 specific execute toolbar
* add the minimun number of command only
* add keep/discard commands
* Update src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* make notebook inline v2 usage independent
* try to adjust v1 vs v2 context keys
* fix conditionals, delay cell editor check
* fix v1 context key, editor still not always identified as cell editor
* create alternate inline chat contribs for notebooks
* Revert "create alternate inline chat contribs for notebooks"
This reverts commit f8667269cd.
* fix helper method, use it to get the notebook Editor
* override new method for test
* unused import
* wip
* update learnings
* clean 1
* clean 2
* commit update-instructions.prompt.md
* swap back to normal model after being in delegate
* adding generation
* wip
* wip
* update
---------
Co-authored-by: Henning Dieterichs <hdieterichs@microsoft.com>
Co-authored-by: Anthony Kim <anthonykim@microsoft.com>
Co-authored-by: SteVen Batten <sbatten@microsoft.com>
* fix issue with squished images
* remove height auto
* alt text generation and new command arguments
* remove some parenths
* address comments, accept uri arrays only
* remove extra line
* move url checking and such to add file
* some more cleanup, remove extra if line
And fix inline chat 2
This is complicated. The way that I expect it to work now
- The ChatModel creates the editing session for the right locations and based on the isGlobalEditingSession flag passed in
- stop doesn't dispose the editing session, so it doesn't get disposed twice, but it gets disposed when the ChatModel is disposed
* Start enabling unified chat mode
* Move ChatAgentLocation to avoid import cycle. Update imports
* fix more imports
* More work
* Add ChatMode, make agent mode be session-specific, not global
Towards unifying chat views
* Fix mode for transferred session and request parser
* Fixes
* Fix defaultAgent, don't do intent detection
* Fixes
* Don't show mode picker in other locations
* Add chatMode context key
* Fix "new edit session" in unified
* Update context actions
* Update execute actions
* Title actions
* Update more commands
* make chat editing overlay a workbench editor overlay (not just a code editor overlay), same for editor specific context key, they should not be limited to code editors
* * centralize context key handling into `chatEditoringEditorContextKeys`
* workbench chat overlay also reacts to inline chat sessions
* fix leak in code lens controller
* 💄
* make sure `EditingSessionAction` find the right widget
* add `IModifiedFileEntryNavigator` to allow change navigation from "the inside"
* remove code editor based chat overlay logic