- 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>
* Update todo styling
* Hide todo list container initially and manage its visibility during rendering
* Remove standalone ChatTodoListWidget and integrate todo UI into ChatInputPart
- Remove ChatTodoListWidget import, field, instantiation and DOM append
- Delegate render/clear of todo list to ChatInputPart (use inputPart.renderChatTodoListWidget / inputPart.clearTodoListWidget)
- Update content height and layout math to exclude removed standalone widget height
- Simplify and relocate todo-list CSS: reduce padding/margins, move widget container styling under .interactive-input-part, and remove the large global .chat-todo-list-widget rules
* Account for integrated todo list in chat input layout
- Include todoListWidgetContainerHeight in ChatInputPart contentHeight and layout calculations so the embedded todo UI is reserved in layout
- Rename ChatWidget.renderChatTodoListWidget to renderChatInputTodoListWidget and update the call site
- Increase bottom padding of .chat-editing-session-container to make space for the todo list
* update config
* Update icon size
* Remove standalone Chat Todo List Widget styles from chat.css
* Add onDidUpdateTodos to mock IChatTodoListService in inline chat tests
* 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
We want to prevent mistaken changes that do something like this:
```ts
foo.onEvent = () => { ... };
```
When they almost always mean:
```ts
foo.onEvent(() => { ... })
```
For #206228
This moves the MarkdownRendererService from `editor` into `platform`
As part of this I had to add a `setDefaultCodeBlockRenderer` method that lets the editor register syntax highlighting support
Final step of refactoring in this space. This change:
- Introduces an `IMarkdownRenderer` for cases where a top level component needs to control how other components render markdown
- Deletes `MarkdownRenderer`
- Makes chat adopt either `IMarkdownRenderer` for stuff in a response, or `IMarkdownRendererService` for rendering non-response content
For #269213
This adds a new eslint rule for `as any` and `<any>({... })`. We'd like to remove almost all of these, however right now the first goal is to prevent them in new code. That's why with this first PR I simply add `eslint-disable` comments for all breaks
Trying to get this change in soon after branching off for release to hopefully minimize disruption during debt week work
* 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>
* chat - mention ToS in welcome for first time anonymous usage
* tests
* briefer warning
* refactor: update chat widget to replace experimental terminology with new user terminology
---------
Co-authored-by: Bhavya U <bhavyau@microsoft.com>
* Add configuration for todo list widget position in chat and enable todo tool by default
* Add mock implementation for IChatTodoListService in InlineChatController tests