(vscode: vscode)
| 132 | } |
| 133 | |
| 134 | async function migrateDotnetPathOption(vscode: vscode): Promise<void> { |
| 135 | const configuration = vscode.workspace.getConfiguration(); |
| 136 | |
| 137 | if (commonOptions.useOmnisharpServer) { |
| 138 | // Migrate to O# specific option. |
| 139 | await MoveOptionsValue(dotnetPathOption, 'omnisharp.dotnetPath', configuration); |
| 140 | } else { |
| 141 | const oldOptionInspect = configuration.inspect<string>(dotnetPathOption); |
| 142 | if ( |
| 143 | !oldOptionInspect || |
| 144 | (!oldOptionInspect.globalValue && |
| 145 | !oldOptionInspect.workspaceValue && |
| 146 | !oldOptionInspect.workspaceFolderValue) |
| 147 | ) { |
| 148 | // No value is set, nothing to migrate. |
| 149 | return; |
| 150 | } |
| 151 | |
| 152 | const newOptionInspect = configuration.inspect<IDotnetAcquisitionExistingPaths[]>( |
| 153 | dotnetAcquisitionExtensionOption |
| 154 | ); |
| 155 | |
| 156 | if (oldOptionInspect.globalValue) { |
| 157 | await migrateSingleDotnetPathValue( |
| 158 | dotnetPathOption, |
| 159 | oldOptionInspect.globalValue, |
| 160 | dotnetAcquisitionExtensionOption, |
| 161 | newOptionInspect?.globalValue, |
| 162 | configuration, |
| 163 | ConfigurationTarget.Global |
| 164 | ); |
| 165 | } |
| 166 | |
| 167 | if (oldOptionInspect.workspaceValue) { |
| 168 | await migrateSingleDotnetPathValue( |
| 169 | dotnetPathOption, |
| 170 | oldOptionInspect.workspaceValue, |
| 171 | dotnetAcquisitionExtensionOption, |
| 172 | newOptionInspect?.workspaceValue, |
| 173 | configuration, |
| 174 | ConfigurationTarget.Workspace |
| 175 | ); |
| 176 | } |
| 177 | |
| 178 | if (oldOptionInspect.workspaceFolderValue) { |
| 179 | await migrateSingleDotnetPathValue( |
| 180 | dotnetPathOption, |
| 181 | oldOptionInspect.workspaceFolderValue, |
| 182 | dotnetAcquisitionExtensionOption, |
| 183 | newOptionInspect?.workspaceFolderValue, |
| 184 | configuration, |
| 185 | ConfigurationTarget.WorkspaceFolder |
| 186 | ); |
| 187 | } |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | async function migrateSingleDotnetPathValue( |
no test coverage detected