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
131 lines (118 loc) · 5.86 KB
/
DebugView.swift
File metadata and controls
131 lines (118 loc) · 5.86 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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
@AppStorage(\.disableGitIgnoreCheck) var disableGitIgnoreCheck
@AppStorage(\.disableFileContentManipulationByCheatsheet)
var disableFileContentManipulationByCheatsheet
@AppStorage(\.restartXcodeInspectorIfAccessibilityAPIIsMalfunctioning)
var restartXcodeInspectorIfAccessibilityAPIIsMalfunctioning
@AppStorage(\.restartXcodeInspectorIfAccessibilityAPIIsMalfunctioningNoTimer)
var restartXcodeInspectorIfAccessibilityAPIIsMalfunctioningNoTimer
@AppStorage(\.toastForTheReasonWhyXcodeInspectorNeedsToBeRestarted)
var toastForTheReasonWhyXcodeInspectorNeedsToBeRestarted
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 Accessibility API")
}
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")
}
Toggle(isOn: $settings.disableGitIgnoreCheck) {
Text("Disable git ignore check")
}
Toggle(isOn: $settings.disableFileContentManipulationByCheatsheet) {
Text("Disable file content manipulation by cheatsheet")
}
Group {
Toggle(
isOn: $settings
.restartXcodeInspectorIfAccessibilityAPIIsMalfunctioning
) {
Text(
"Re-activate Xcode Inspector when Accessibility API malfunctioning detected"
)
}
Toggle(
isOn: $settings
.restartXcodeInspectorIfAccessibilityAPIIsMalfunctioningNoTimer
) {
Text("Trigger malfunctioning detection only with events")
}
Toggle(
isOn: $settings
.toastForTheReasonWhyXcodeInspectorNeedsToBeRestarted
) {
Text("Toast for the reason of re-activation of Xcode Inspector")
}
}
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()
}
}