-
Notifications
You must be signed in to change notification settings - Fork 37.6k
Implement chat tips service and related features #290513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a chat tips service to enhance user experience with contextual tips in the chat interface. The service shows helpful tips to users about various chat features, with logic to show only one tip per session and only for new requests (not restored chats).
Changes:
- Implemented a new
ChatTipServicethat manages and displays contextual tips based on user context - Added a
ChatTipContentPartUI component to render tips above chat requests - Extended the chat view model to expose request timestamps for tip eligibility logic
- Added a new
chatModeNamecontext key to enable mode-specific tip filtering
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/chatTipService.ts | Core service implementation with tip catalog, eligibility logic, and session-based tip management |
| src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.ts | UI component that renders tips with icon and markdown content |
| src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css | Styling for the tip widget |
| src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts | Integration of tip rendering into the chat list renderer |
| src/vs/workbench/contrib/chat/browser/chat.contribution.ts | Service registration for dependency injection |
| src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts | Binding of chatModeName context key |
| src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts | Definition of new chatModeName context key |
| src/vs/workbench/contrib/chat/common/model/chatViewModel.ts | Exposure of timestamp property for request view models |
| src/vs/workbench/contrib/chat/test/browser/chatTipService.test.ts | Comprehensive test suite covering tip service behavior |
| /** | ||
| * Static catalog of tips. Each tip has an optional when clause for eligibility. | ||
| */ | ||
| const TIP_CATALOG: ITipDefinition[] = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i almost wonder if we need more tips :0
just anecdotally, when i'd be playing games, there would be tips like these on loading screens, and i'd get annoyed if i saw the same tip too much
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agreed
Introduce a chat tips service to enhance user experience with contextual tips. Update the frequency of tips, add necessary tests, and ensure proper integration within the chat interface.