Merge pull request #714 from voideditor/mcp

add auto accept toggle
This commit is contained in:
Andrew Pareles 2025-06-06 00:28:13 -07:00 committed by GitHub
commit 3ec6973a0f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 39 additions and 0 deletions

View file

@ -12,3 +12,5 @@ Do not add or remove semicolons to any of my files. Just go with convention and
Never modify files outside src/vs/workbench/contrib/void without consulting with the user first.
All types that map from a value A to B should be called bOfA. For example, if you create a hashmap that goes from toolId to toolName, it should be called toolNameOfToolId, etc.
No need to check that it compiles by running compile, just stop.

View file

@ -1179,6 +1179,11 @@ class EditCodeService extends Disposable implements IEditCodeService {
this._onDidChangeStreamingInDiffZone.fire({ uri, diffareaid: diffZone.diffareaid })
this._refreshStylesAndDiffsInURI(uri)
onFinishEdit()
// auto accept
if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) {
this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false })
}
}
@ -1218,6 +1223,11 @@ class EditCodeService extends Disposable implements IEditCodeService {
this._onDidChangeStreamingInDiffZone.fire({ uri, diffareaid: diffZone.diffareaid })
this._refreshStylesAndDiffsInURI(uri)
onFinishEdit()
// auto accept
if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) {
this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false })
}
}
this._writeURIText(uri, newContent, 'wholeFileRange', { shouldRealignDiffAreas: true })
@ -1448,6 +1458,11 @@ class EditCodeService extends Disposable implements IEditCodeService {
}
this._refreshStylesAndDiffsInURI(uri)
onFinishEdit()
// auto accept
if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) {
this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false })
}
}
// throws
@ -1732,6 +1747,11 @@ class EditCodeService extends Disposable implements IEditCodeService {
this._deleteTrackingZone(trackingZone)
onFinishEdit()
// auto accept
if (this._settingsService.state.globalSettings.autoAcceptLLMChanges) {
this.acceptOrRejectAllDiffAreas({ uri, removeCtrlKs: false, behavior: 'accept', _addToHistory: false })
}
}
const onError = (e: { message: string; fullError: Error | null; }) => {

View file

@ -1319,6 +1319,18 @@ export const Settings = () => {
<span className='text-void-fg-3 text-xs pointer-events-none'>{settingsState.globalSettings.includeToolLintErrors ? 'Fix lint errors' : `Fix lint errors`}</span>
</div>
</ErrorBoundary>
{/* Auto Accept LLM Changes Switch */}
<ErrorBoundary>
<div className='flex items-center gap-x-2 my-2'>
<VoidSwitch
size='xs'
value={settingsState.globalSettings.autoAcceptLLMChanges}
onChange={(newVal) => voidSettingsService.setGlobalSetting('autoAcceptLLMChanges', newVal)}
/>
<span className='text-void-fg-3 text-xs pointer-events-none'>Auto-accept LLM changes</span>
</div>
</ErrorBoundary>
</div>
</div>

View file

@ -289,6 +289,9 @@ class VoidSettingsService extends Disposable implements IVoidSettingsService {
}
// add disableSystemMessage feature
if (readS.globalSettings.disableSystemMessage === undefined) readS.globalSettings.disableSystemMessage = false;
// add autoAcceptLLMChanges feature
if (readS.globalSettings.autoAcceptLLMChanges === undefined) readS.globalSettings.autoAcceptLLMChanges = false;
}
catch (e) {
readS = defaultState()

View file

@ -454,6 +454,7 @@ export type GlobalSettings = {
includeToolLintErrors: boolean;
isOnboardingComplete: boolean;
disableSystemMessage: boolean;
autoAcceptLLMChanges: boolean;
}
export const defaultGlobalSettings: GlobalSettings = {
@ -469,6 +470,7 @@ export const defaultGlobalSettings: GlobalSettings = {
includeToolLintErrors: true,
isOnboardingComplete: false,
disableSystemMessage: false,
autoAcceptLLMChanges: false,
}
export type GlobalSettingName = keyof GlobalSettings