Skip to content

Commit 53f4ec4

Browse files
committed
Update UI and documentation to clarify tool behavior and improve configuration management
1 parent 7b03aad commit 53f4ec4

6 files changed

Lines changed: 76 additions & 21 deletions

File tree

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Pair-programming using natural language instructions.
8181
Integrate changes from malformed markdown code blocks.
8282

8383
**🛠️ Prune Context** \
84-
Remove irrelevant files from the current context.
84+
Make the context task-focused.
8585

8686
**🛠️ Code at Cursor** \
8787
Accurate inline code from reasoning models.
@@ -94,7 +94,7 @@ Meaningful summaries of changes in your style.
9494

9595
## Enterprise security
9696

97-
Code Web Chat operates exclusively on your machine. Your prompts are sent directly to chatbots via editor-browser communication channel run on local Websockets. For API tools, model providers are called directly.
97+
Code Web Chat operates exclusively on your machine. Your prompts are sent directly to chatbots via editor-browser communication channel run on local Websockets. For API tools, model providers are called directly. The tool does not collect any telemetry.
9898

9999
## Commands
100100

‎apps/editor/src/views/settings/frontend/Home/Home.tsx‎

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -401,12 +401,12 @@ export const Home: React.FC<Props> = (props) => {
401401
}}
402402
>
403403
SecretStorage
404-
</a>
405-
.
404+
</a>{' '}
405+
on your machine.
406406
</Notice>
407407
{props.providers.length == 0 && (
408408
<Notice type="warning">
409-
Add a model provider to use API features.
409+
Add a model provider to use API tools.
410410
</Notice>
411411
)}
412412
<Group>
@@ -439,6 +439,7 @@ export const Home: React.FC<Props> = (props) => {
439439
</Button>
440440
}
441441
>
442+
<Notice type="info">Sends the selected files.</Notice>
442443
{props.edit_context_configs.length == 0 && (
443444
<Notice type="warning">
444445
Add a configuration to use this feature.
@@ -492,6 +493,9 @@ export const Home: React.FC<Props> = (props) => {
492493
</Button>
493494
}
494495
>
496+
<Notice type="info">
497+
Sends the original file and failed to apply code block.
498+
</Notice>
495499
{props.intelligent_update_configs.length == 0 && (
496500
<Notice type="warning">
497501
Add a configuration to use this feature.
@@ -536,7 +540,7 @@ export const Home: React.FC<Props> = (props) => {
536540
ref={(el) => (section_refs.current['prune-context'] = el)}
537541
group="API Tool"
538542
title="Prune Context"
539-
subtitle="Remove irrelevant files from the current context."
543+
subtitle="Make the context task-focused."
540544
on_stuck_change={prune_context_on_stuck_change}
541545
actions={
542546
<Button
@@ -548,6 +552,9 @@ export const Home: React.FC<Props> = (props) => {
548552
</Button>
549553
}
550554
>
555+
<Notice type="info">
556+
Sends the selected files in a compacted form (~60% less tokens).
557+
</Notice>
551558
{props.prune_context_configs.length == 0 && (
552559
<Notice type="warning">
553560
Add a configuration to use this feature.
@@ -584,6 +591,7 @@ export const Home: React.FC<Props> = (props) => {
584591
</Button>
585592
}
586593
>
594+
<Notice type="info">Sends the selected files.</Notice>
587595
{props.code_at_cursor_configs.length == 0 && (
588596
<Notice type="warning">
589597
Add a configuration to use this feature.
@@ -610,7 +618,7 @@ export const Home: React.FC<Props> = (props) => {
610618
/>
611619
<Item
612620
title="Keyboard Shortcut"
613-
description="Setup tool triggering key combinations."
621+
description="Setup completion triggers."
614622
slot_right={
615623
<TextButton
616624
on_click={() =>
@@ -641,6 +649,9 @@ export const Home: React.FC<Props> = (props) => {
641649
</Button>
642650
}
643651
>
652+
<Notice type="info">
653+
Requires a multimodal model accepting audio.
654+
</Notice>
644655
{props.voice_input_configs.length == 0 && (
645656
<Notice type="warning">
646657
Add a configuration to use this feature.
@@ -684,6 +695,9 @@ export const Home: React.FC<Props> = (props) => {
684695
</Button>
685696
}
686697
>
698+
<Notice type="info">
699+
Sends diffs of changed files and their original states.
700+
</Notice>
687701
{props.commit_messages_configs.length == 0 && (
688702
<Notice type="warning">
689703
Add a configuration to use this feature.

‎apps/editor/src/views/utils/upsert-configuration.ts‎

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,16 @@ export const upsert_configuration = async (params: {
172172
}
173173
]
174174

175-
items.push({
175+
const reasoning_effort_item: vscode.QuickPickItem = {
176176
label: 'Reasoning Effort',
177177
detail: updated_config.reasoning_effort
178-
})
178+
}
179+
if (updated_config.reasoning_effort) {
180+
reasoning_effort_item.buttons = [
181+
{ iconPath: new vscode.ThemeIcon('eraser'), tooltip: 'Unset' }
182+
]
183+
}
184+
items.push(reasoning_effort_item)
179185

180186
items.push({ label: 'Advanced...' })
181187

@@ -206,6 +212,14 @@ export const upsert_configuration = async (params: {
206212
const disposables: vscode.Disposable[] = []
207213

208214
disposables.push(
215+
quick_pick.onDidTriggerItemButton((e) => {
216+
if (e.item.label === 'Reasoning Effort') {
217+
delete updated_config.reasoning_effort
218+
accepted = true
219+
resolve({ label: 'REFRESH' })
220+
quick_pick.hide()
221+
}
222+
}),
209223
quick_pick.onDidAccept(() => {
210224
accepted = true
211225
resolve(quick_pick.selectedItems[0])
@@ -228,10 +242,19 @@ export const upsert_configuration = async (params: {
228242
}
229243
]
230244

231-
reset_items.push({
245+
const reset_reasoning_item: vscode.QuickPickItem = {
232246
label: 'Reasoning Effort',
233247
detail: updated_config.reasoning_effort
234-
})
248+
}
249+
if (updated_config.reasoning_effort) {
250+
reset_reasoning_item.buttons = [
251+
{
252+
iconPath: new vscode.ThemeIcon('clear-all'),
253+
tooltip: 'Unset'
254+
}
255+
]
256+
}
257+
reset_items.push(reset_reasoning_item)
235258

236259
reset_items.push({ label: 'Advanced...' })
237260

@@ -253,6 +276,10 @@ export const upsert_configuration = async (params: {
253276
break
254277
}
255278

279+
if (selected_item.label === 'REFRESH') {
280+
continue
281+
}
282+
256283
last_selected_label = selected_item.label
257284
const selected_option = selected_item.label
258285

@@ -350,13 +377,18 @@ export const upsert_configuration = async (params: {
350377
} else if (selected_option == 'Advanced...') {
351378
let last_advanced_label: string | undefined
352379
while (true) {
353-
const advanced_items: vscode.QuickPickItem[] = [
354-
{
355-
label: 'Temperature',
356-
description: 'Leave empty with reasoning models',
357-
detail: updated_config.temperature?.toString()
358-
}
359-
]
380+
const temperature_item: vscode.QuickPickItem = {
381+
label: 'Temperature',
382+
description: 'Leave empty with reasoning models',
383+
detail: updated_config.temperature?.toString()
384+
}
385+
if (updated_config.temperature != null) {
386+
temperature_item.buttons = [
387+
{ iconPath: new vscode.ThemeIcon('eraser'), tooltip: 'Unset' }
388+
]
389+
}
390+
391+
const advanced_items: vscode.QuickPickItem[] = [temperature_item]
360392

361393
const selected_advanced = await new Promise<
362394
vscode.QuickPickItem | undefined
@@ -376,6 +408,14 @@ export const upsert_configuration = async (params: {
376408
const disposables: vscode.Disposable[] = []
377409

378410
disposables.push(
411+
quick_pick.onDidTriggerItemButton((e) => {
412+
if (e.item.label === 'Temperature') {
413+
delete updated_config.temperature
414+
accepted = true
415+
resolve({ label: 'REFRESH' })
416+
quick_pick.hide()
417+
}
418+
}),
379419
quick_pick.onDidAccept(() => {
380420
accepted = true
381421
resolve(quick_pick.selectedItems[0])
@@ -396,6 +436,8 @@ export const upsert_configuration = async (params: {
396436
})
397437

398438
if (!selected_advanced) break
439+
if (selected_advanced.label === 'REFRESH') continue
440+
399441
last_advanced_label = selected_advanced.label
400442

401443
if (selected_advanced.label == 'Temperature') {

‎packages/ui/src/components/editor/panel/Radio/Radio.module.scss‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
.radio {
22
appearance: none;
3-
43
height: 16px;
54
width: 16px;
65
background-color: var(--vscode-checkbox-background);

‎packages/ui/src/components/editor/settings/ConfigurationsList/ConfigurationsList.module.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
.header {
88
display: flex;
9-
padding: 0 12px 0 16px;
9+
padding: 0 12px;
1010
align-items: center;
1111
justify-content: space-between;
1212
height: var(--row-height);

‎packages/ui/src/components/editor/settings/ModelProviders/ModelProviders.module.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
.header {
88
display: flex;
9-
padding: 0 12px 0 16px;
9+
padding: 0 12px;
1010
height: var(--row-height);
1111
align-items: center;
1212
justify-content: space-between;

0 commit comments

Comments
 (0)