forked from intitni/CopilotForXcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDebugView.swift
More file actions
90 lines (81 loc) · 3.95 KB
/
DebugView.swift
File metadata and controls
90 lines (81 loc) · 3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import Preferences
import SwiftUI
final class DebugSettings: ObservableObject {
@AppStorage(\.animationACrashSuggestion) var animationACrashSuggestion
@AppStorage(\.animationBCrashSuggestion) var animationBCrashSuggestion
@AppStorage(\.animationCCrashSuggestion) var animationCCrashSuggestion
@AppStorage(\.preCacheOnFileOpen) var preCacheOnFileOpen
@AppStorage(\.useCustomScrollViewWorkaround) var useCustomScrollViewWorkaround
@AppStorage(\.triggerActionWithAccessibilityAPI) var triggerActionWithAccessibilityAPI
@AppStorage(\.alwaysAcceptSuggestionWithAccessibilityAPI)
var alwaysAcceptSuggestionWithAccessibilityAPI
@AppStorage(\.enableXcodeInspectorDebugMenu) var enableXcodeInspectorDebugMenu
@AppStorage(\.disableFunctionCalling) var disableFunctionCalling
@AppStorage(\.disableGitHubCopilotSettingsAutoRefreshOnAppear)
var disableGitHubCopilotSettingsAutoRefreshOnAppear
@AppStorage(\.useUserDefaultsBaseAPIKeychain) var useUserDefaultsBaseAPIKeychain
@AppStorage(\.disableEnhancedWorkspace) var disableEnhancedWorkspace
init() {}
}
struct DebugSettingsView: View {
@StateObject var settings = DebugSettings()
var body: some View {
ScrollView {
Form {
Toggle(isOn: $settings.animationACrashSuggestion) {
Text("Enable animation A")
}
Toggle(isOn: $settings.animationBCrashSuggestion) {
Text("Enable animation B")
}
Toggle(isOn: $settings.animationCCrashSuggestion) {
Text("Enable widget breathing animation")
}
Toggle(isOn: $settings.preCacheOnFileOpen) {
Text("Cache editor information on file open")
}
Toggle(isOn: $settings.useCustomScrollViewWorkaround) {
Text("Use custom scroll view workaround for smooth scrolling")
}
Toggle(isOn: $settings.triggerActionWithAccessibilityAPI) {
Text("Trigger command with AccessibilityAPI")
}
Group {
Toggle(isOn: $settings.alwaysAcceptSuggestionWithAccessibilityAPI) {
Text("Always accept suggestion with Accessibility API")
}
Toggle(isOn: $settings.enableXcodeInspectorDebugMenu) {
Text("Enable Xcode inspector debug menu")
}
Toggle(isOn: $settings.disableFunctionCalling) {
Text("Disable function calling for chat feature")
}
Toggle(isOn: $settings.disableGitHubCopilotSettingsAutoRefreshOnAppear) {
Text("Disable GitHub Copilot settings auto refresh status on appear")
}
Toggle(isOn: $settings.useUserDefaultsBaseAPIKeychain) {
Text("Store API keys in UserDefaults")
}
Toggle(isOn: $settings.disableEnhancedWorkspace) {
Text("Disable Enhanced Workspace")
}
Button("Reset Migration Version to 0") {
UserDefaults.shared.set(nil, forKey: "OldMigrationVersion")
}
Button("Reset 0.23.0 migration") {
UserDefaults.shared.set("239", forKey: "OldMigrationVersion")
UserDefaults.shared.set(nil, forKey: "MigrateTo240Finished")
UserDefaults.shared.set(nil, forKey: "ChatModels")
UserDefaults.shared.set(nil, forKey: "EmbeddingModels")
}
}
}
.padding()
}
}
}
struct DebugSettingsView_Preview: PreviewProvider {
static var previews: some View {
DebugSettingsView()
}
}