@@ -644,14 +644,16 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {
644644
645645 { diffEnabled && (
646646 < div style = { { marginTop : 10 } } >
647- < ExperimentalFeature
648- key = { EXPERIMENT_IDS . DIFF_STRATEGY }
649- { ...experimentConfigsMap . DIFF_STRATEGY }
650- enabled = { experiments [ EXPERIMENT_IDS . DIFF_STRATEGY ] ?? false }
651- onChange = { ( enabled ) => setExperimentEnabled ( EXPERIMENT_IDS . DIFF_STRATEGY , enabled ) }
652- />
653647 < div
654- style = { { display : "flex" , flexDirection : "column" , gap : "5px" , marginTop : "15px" } } >
648+ style = { {
649+ display : "flex" ,
650+ flexDirection : "column" ,
651+ gap : "5px" ,
652+ marginTop : "10px" ,
653+ marginBottom : "10px" ,
654+ paddingLeft : "10px" ,
655+ borderLeft : "2px solid var(--vscode-button-background)" ,
656+ } } >
655657 < span style = { { fontWeight : "500" } } > Match precision</ span >
656658 < div style = { { display : "flex" , alignItems : "center" , gap : "5px" } } >
657659 < input
@@ -671,19 +673,50 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {
671673 { Math . round ( ( fuzzyMatchThreshold || 1 ) * 100 ) } %
672674 </ span >
673675 </ div >
676+ < p
677+ style = { {
678+ fontSize : "12px" ,
679+ marginTop : "5px" ,
680+ color : "var(--vscode-descriptionForeground)" ,
681+ } } >
682+ This slider controls how precisely code sections must match when applying diffs.
683+ Lower values allow more flexible matching but increase the risk of incorrect
684+ replacements. Use values below 100% with extreme caution.
685+ </ p >
686+ < ExperimentalFeature
687+ key = { EXPERIMENT_IDS . DIFF_STRATEGY }
688+ { ...experimentConfigsMap . DIFF_STRATEGY }
689+ enabled = { experiments [ EXPERIMENT_IDS . DIFF_STRATEGY ] ?? false }
690+ onChange = { ( enabled ) =>
691+ setExperimentEnabled ( EXPERIMENT_IDS . DIFF_STRATEGY , enabled )
692+ }
693+ />
674694 </ div >
675- < p
676- style = { {
677- fontSize : "12px" ,
678- marginTop : "5px" ,
679- color : "var(--vscode-descriptionForeground)" ,
680- } } >
681- This slider controls how precisely code sections must match when applying diffs.
682- Lower values allow more flexible matching but increase the risk of incorrect
683- replacements. Use values below 100% with extreme caution.
684- </ p >
685695 </ div >
686696 ) }
697+
698+ < div style = { { marginBottom : 15 } } >
699+ < div style = { { display : "flex" , alignItems : "center" , gap : "5px" } } >
700+ < span style = { { color : "var(--vscode-errorForeground)" } } > ⚠️</ span >
701+ < VSCodeCheckbox
702+ checked = { checkpointsEnabled }
703+ onChange = { ( e : any ) => {
704+ setCheckpointsEnabled ( e . target . checked )
705+ } } >
706+ < span style = { { fontWeight : "500" } } > Enable experimental checkpoints</ span >
707+ </ VSCodeCheckbox >
708+ </ div >
709+ < p
710+ style = { {
711+ fontSize : "12px" ,
712+ marginTop : "5px" ,
713+ color : "var(--vscode-descriptionForeground)" ,
714+ } } >
715+ When enabled, Roo will save a checkpoint whenever a file in the workspace is modified,
716+ added or deleted, letting you easily revert to a previous state.
717+ </ p >
718+ </ div >
719+
687720 { Object . entries ( experimentConfigsMap )
688721 . filter ( ( config ) => config [ 0 ] !== "DIFF_STRATEGY" )
689722 . map ( ( config ) => (
@@ -702,25 +735,6 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {
702735 />
703736 ) ) }
704737 </ div >
705-
706- < div style = { { marginBottom : 15 } } >
707- < VSCodeCheckbox
708- checked = { checkpointsEnabled }
709- onChange = { ( e : any ) => {
710- setCheckpointsEnabled ( e . target . checked )
711- } } >
712- < span style = { { fontWeight : "500" } } > Enable checkpoints</ span >
713- </ VSCodeCheckbox >
714- < p
715- style = { {
716- fontSize : "12px" ,
717- marginTop : "5px" ,
718- color : "var(--vscode-descriptionForeground)" ,
719- } } >
720- When enabled, Roo will be save a workspace checkpoint after each tool execution if a file in
721- the workspace is modified, added or deleted.
722- </ p >
723- </ div >
724738 </ div >
725739
726740 < div
0 commit comments