- Change pattern value in _setting_.json for code workflow
- Update pattern value in _setting_.json for code_actions workflow
- Modify pattern value in _setting_.json for commit_message workflow
- Update the avatar images to use SVG format
- Use file-loader instead of url-loader to load image assets
The commit updates the ChatPanel UI by replacing the avatar images with SVG format and using file-loader instead of url-loader to load image assets.
- Update avatar size to 'sm' and margin to {marginTop: 10, marginLeft: 3}
- Replace IconRobot and IconUser with avatarDevChat and avatarUser respectively
- Update gap between messages to 'xs'
- Update Divider margin to {my: 3}
This commit adds the ability to filter command menus based on user input and navigate through them using the up and down arrow keys. When a command is selected, it is inserted into the input field. The commit also removes the command menu rendering from the initial render and moves it to a useEffect hook.
This commit adds a popover to ChatPanel that contains a dropdown menu for commands and contexts. The dropdown menu can be opened by clicking on the ChatPanel's textarea. The dropdown menu contains a list of commands and contexts that can be clicked to insert them into the textarea. The popover also contains a tooltip that provides instructions on how to select code or file and right-click to access the context menu.
- Implement getDocumentText function to retrieve text from the editor
- Update diffView function to handle temp files and diff view
- Add getNewCode function to handle code changes
- Implement applyCodeChanges and isValidActionString functions
This commit adds the ability to track the scroll position of the chat panel and stop scrolling when the user scrolls up. It also includes a timer to automatically scroll to the bottom of the chat panel after a certain amount of time.
The ChatPanel.tsx file was moved to ChatPanel/index.tsx to better organize the project structure. The import statement for MessageUtil was also updated to reflect the new file path.
This commit enhances the handling of missing or invalid OPENAI_API_KEY
by adding validation checks and providing clear error messages to the
user. It also stores the valid API key in the secret storage and
displays a welcome message when the key is set correctly.
This commit adds a new welcome.html file to display a message to the
user when no Git repository is open. The message informs the user that
DevChat is designed for answering questions about Git repositories and
asks them to open a Git repository folder to start using DevChat.
- Use VSCode theme variables for colors and fonts in App.tsx and ChatPanel.tsx
- Update background, foreground, and border colors for various components
- Update hover and disabled states for buttons and icons
- Change DevChat.OPENAI_API_KEY title and add category
- Replace devchat.openChatPanel command with devchat-view.focus
- Update statusBarItem.command to devcaht.onStatusBarClick
- Set webviewOptions with retainContextWhenHidden: true for DevChatViewProvider
- Change the keyboard shortcut for sending a message from Ctrl+Enter to Enter without Shift
- Update the placeholder text to remove the reference to the old shortcut
- Import ExtensionContextHolder for secret storage access
- Retrieve OpenAI API key from secret storage, fallback to workspace config
- Make DevChat executable path configurable via workspace settings
- Replace hardcoded 'devchat' with configurable path in spawnAsync calls
- Add activationEvents to package.json for better extension activation
- Add Chinese commands for addConext, askForCode, and askForFile
- Register Chinese commands in contributes/commands.ts
- Set isChineseLocale context based on the user's locale
- Added a messageCount constant to limit the number of displayed messages
- Removed excess messages when the message length exceeds double the messageCount
- Ensured only the last 5 messages are loaded from the history
- Add a setTimeout function to scrollToBottom in useEffect to ensure smooth scrolling when ChatPanel is mounted.
- Adjust the height of the ScrollArea based on the generating state.
- Move the "Stop generating" button to a more appropriate location in the UI.
- Update the display property of the blinking cursor for better visibility.