diff --git a/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts b/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts index da97ee90..09c89795 100644 --- a/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts +++ b/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts @@ -199,7 +199,7 @@ export class EditorGroupWatermark extends Disposable { openFolderButton.root.classList.add('void-openfolder-button') openFolderButton.root.style.display = 'block' openFolderButton.root.style.width = '124px' // Set width to 124px as requested - openFolderButton.root.textContent = 'Open a folder' + openFolderButton.root.textContent = 'Open Folder' openFolderButton.root.onclick = () => { this.commandService.executeCommand(isMacintosh && isNative ? OpenFileFolderAction.ID : OpenFolderAction.ID) // if (this.contextKeyService.contextMatchesRules(ContextKeyExpr.and(WorkbenchStateContext.isEqualTo('workspace')))) { diff --git a/src/vs/workbench/contrib/void/browser/autocompleteService.ts b/src/vs/workbench/contrib/void/browser/autocompleteService.ts index 5bf1200d..95ec65c2 100644 --- a/src/vs/workbench/contrib/void/browser/autocompleteService.ts +++ b/src/vs/workbench/contrib/void/browser/autocompleteService.ts @@ -792,7 +792,6 @@ export class AutocompleteService extends Disposable implements IAutocompleteServ const featureName: FeatureName = 'Autocomplete' const modelSelection = this._settingsService.state.modelSelectionOfFeature[featureName] const modelSelectionOptions = modelSelection ? this._settingsService.state.optionsOfModelSelection[featureName][modelSelection.providerName]?.[modelSelection.modelName] : undefined - const aiInstructions = this._settingsService.state.globalSettings.aiInstructions // set parameters of `newAutocompletion` appropriately newAutocompletion.llmPromise = new Promise((resolve, reject) => { @@ -804,8 +803,7 @@ export class AutocompleteService extends Disposable implements IAutocompleteServ prefix: llmPrefix, suffix: llmSuffix, stopTokens: stopTokens, - }, - aiInstructions + } }), modelSelection, modelSelectionOptions, diff --git a/src/vs/workbench/contrib/void/browser/media/void.css b/src/vs/workbench/contrib/void/browser/media/void.css index 9aec392f..ec14e2d5 100644 --- a/src/vs/workbench/contrib/void/browser/media/void.css +++ b/src/vs/workbench/contrib/void/browser/media/void.css @@ -27,7 +27,7 @@ /* Renamed from void-watermark-button to void-openfolder-button */ .void-openfolder-button { padding: 8px 20px; - background-color: #3b82f6; + background-color: #306dce; color: white; border: none; border-radius: 4px; diff --git a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/ErrorBoundary.tsx b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/ErrorBoundary.tsx index 2ccc54b2..3720d1a6 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/ErrorBoundary.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/ErrorBoundary.tsx @@ -5,6 +5,7 @@ import React, { Component, ErrorInfo, ReactNode } from 'react'; import { ErrorDisplay } from './ErrorDisplay.js'; +import { WarningBox } from '../void-settings-tsx/WarningBox.js'; interface Props { children: ReactNode; @@ -51,11 +52,12 @@ class ErrorBoundary extends Component { // Use ErrorDisplay component as the default error UI return ( - + + // ); } diff --git a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx index c70166a6..0cefd52d 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx @@ -29,6 +29,7 @@ import { acceptAllBg, acceptBorder, buttonFontSize, buttonTextColor, rejectAllBg import { ToolName, toolNames } from '../../../../common/prompt/prompts.js'; import { RawToolCallObj } from '../../../../common/sendLLMMessageTypes.js'; import { MAX_FILE_CHARS_PAGE } from '../../../toolsService.js'; +import ErrorBoundary from './ErrorBoundary.js'; @@ -2620,14 +2621,20 @@ export const SidebarChat = () => {
{/* History selector */}
- + + +
- {messagesHTML} + + {messagesHTML} +
- {inputForm} + + {inputForm} +
) diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/ModelDropdown.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/ModelDropdown.tsx index a445e3bf..87ddf7d6 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/ModelDropdown.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/ModelDropdown.tsx @@ -12,6 +12,7 @@ import { IconWarning } from '../sidebar-tsx/SidebarChat.js' import { VOID_OPEN_SETTINGS_ACTION_ID, VOID_TOGGLE_SETTINGS_ACTION_ID } from '../../../voidSettingsPane.js' import { modelFilterOfFeatureName, ModelOption } from '../../../../../../../workbench/contrib/void/common/voidSettingsService.js' import { WarningBox } from './WarningBox.js' +import ErrorBoundary from '../sidebar-tsx/ErrorBoundary.js' const optionsEqual = (m1: ModelOption[], m2: ModelOption[]) => { if (m1.length !== m2.length) return false @@ -92,5 +93,7 @@ export const ModelDropdown = ({ featureName, className }: { featureName: Feature : 'Provider required' } /> - return + return + + } diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx index a4fb5294..f6073774 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx @@ -831,9 +831,9 @@ export const Settings = () => {

Feature Options

{/* L1 */} - -
+
+ {/* FIM */}

{displayInfoOfFeatureName('Autocomplete')}

@@ -853,23 +853,32 @@ export const Settings = () => {
{/* Enable Switch */} -
- voidSettingsService.setGlobalSetting('enableAutocomplete', newVal)} - /> - {settingsState.globalSettings.enableAutocomplete ? 'Enabled' : 'Disabled'} -
+ +
+ voidSettingsService.setGlobalSetting('enableAutocomplete', newVal)} + /> + {settingsState.globalSettings.enableAutocomplete ? 'Enabled' : 'Disabled'} +
+
+ {/* Model Dropdown */} -
- -
+ +
+ +
+
+
+
+ + {/* Apply */} + - {/* Apply */}

{displayInfoOfFeatureName('Apply')}

Settings that control the behavior of the Apply button and the Edit tool.
@@ -900,23 +909,25 @@ export const Settings = () => {
+ + +
- -
{/* L2 */} - -
+
- {/* Tools Section */} -
-

Tools

-
{`Tools are functions that LLMs can call. Some tools require user approval.`}
+ {/* Tools Section */} +
+

Tools

+
{`Tools are functions that LLMs can call. Some tools require user approval.`}
+ +
+ {/* Auto Accept Switch */} + -
- {/* Auto Accept Switch */}
{ /> {settingsState.globalSettings.autoApprove ? 'Auto-approve' : 'Auto-approve'}
+ + + {/* Tool Lint Errors Switch */} + - {/* Tool Lint Errors Switch */}
{ /> {settingsState.globalSettings.includeToolLintErrors ? 'Fix lint errors' : `Fix lint errors`}
-
+
+
-
-

Editor

-
{`Settings that control the visibility of suggestions and widgets in the code editor.`}
+
+

Editor

+
{`Settings that control the visibility of suggestions and widgets in the code editor.`}
-
- {/* Auto Accept Switch */} +
+ {/* Auto Accept Switch */} +
{ /> {settingsState.globalSettings.showInlineSuggestions ? 'Show suggestions on select' : 'Show suggestions on select'}
-
+
- +
{/* General section (formerly GeneralTab) */}
-

One-Click Switch

-

{`Transfer your settings from another editor to Void in one click.`}

+ +

One-Click Switch

+

{`Transfer your settings from another editor to Void in one click.`}

-
- - - -
+
+ + + +
+
+

Built-in Settings

{`IDE settings, keyboard settings, and theme customization.`}

-
- { commandService.executeCommand('workbench.action.openSettings') }}> - General Settings - -
-
- { commandService.executeCommand('workbench.action.openGlobalKeybindings') }}> - Keyboard Settings - -
-
- { commandService.executeCommand('workbench.action.selectTheme') }}> - Theme Settings - -
-
- { nativeHostService.showItemInFolder(environmentService.logsHome.fsPath) }}> - Open Logs - -
+ +
+ { commandService.executeCommand('workbench.action.openSettings') }}> + General Settings + +
+
+ { commandService.executeCommand('workbench.action.openGlobalKeybindings') }}> + Keyboard Settings + +
+
+ { commandService.executeCommand('workbench.action.selectTheme') }}> + Theme Settings + +
+
+ { nativeHostService.showItemInFolder(environmentService.logsHome.fsPath) }}> + Open Logs + +
+

AI Instructions

{`Instructions to include on all AI requests.`}

- + + +
diff --git a/src/vs/workbench/contrib/void/browser/voidCommandBarService.ts b/src/vs/workbench/contrib/void/browser/voidCommandBarService.ts index 02eadbde..6cfcb1d0 100644 --- a/src/vs/workbench/contrib/void/browser/voidCommandBarService.ts +++ b/src/vs/workbench/contrib/void/browser/voidCommandBarService.ts @@ -362,8 +362,6 @@ export class VoidCommandBarService extends Disposable implements IVoidCommandBar registerSingleton(IVoidCommandBarService, VoidCommandBarService, InstantiationType.Delayed); // delayed is needed here :( -// registerWorkbenchContribution2(VoidCommandBarService.ID, VoidCommandBarService, WorkbenchPhase.BlockRestore); - export type VoidCommandBarProps = { uri: URI | null;