|
1 | 1 | // Copyright (c) Microsoft Corporation. All rights reserved.
|
2 | 2 | // Licensed under the MIT license.
|
3 | 3 |
|
4 |
| -import { VSCodeCheckbox, VSCodeDivider, VSCodeDropdown, VSCodeOption } from "@vscode/webview-ui-toolkit/react"; |
| 4 | +import { VSCodeCheckbox, VSCodeDataGrid, VSCodeDataGridCell, VSCodeDataGridRow, VSCodeDivider, VSCodeDropdown, VSCodeOption } from "@vscode/webview-ui-toolkit/react"; |
5 | 5 | import React, { Dispatch, useEffect } from "react";
|
6 | 6 | import { useDispatch, useSelector } from "react-redux";
|
7 | 7 | import { loadCompilerSettings, updateAvailableComplianceLevels, updateComplianceLevel, updateEnablePreview, updateGenerateDebugInfo, updateSourceLevel, updateStoreMethodParamNames, updateTargetLevel, updateUseRelease } from "./compilerConfigurationViewSlice";
|
@@ -156,27 +156,42 @@ const CompilerConfigurationView = (): JSX.Element | null => {
|
156 | 156 |
|
157 | 157 | return (
|
158 | 158 | <div className="setting-section">
|
159 |
| - <h4 className="mt-3 mb-3">JDK Compliance</h4> |
160 | 159 | <div className={showReleaseFlag ? "" : "invisible"}>
|
161 |
| - <VSCodeCheckbox checked={useRelease} onClick={onClickUseRelease}>Use '--release' option</VSCodeCheckbox> |
| 160 | + <VSCodeCheckbox checked={useRelease} onClick={onClickUseRelease}>Use '--release' option for cross-compilation (Java 9 and later)</VSCodeCheckbox> |
162 | 161 | </div>
|
163 |
| - <div className={`flex-center mt-1 mb-2 ${showReleaseFlag && useRelease ? "" : "invisible"}`}> |
164 |
| - <span className="mr-1">Compliance level:</span> |
165 |
| - <VSCodeDropdown value={complianceLevel}> |
166 |
| - {jdkLevels(complianceLevel, "compliance", onClickComplianceLevel)} |
167 |
| - </VSCodeDropdown> |
168 |
| - </div> |
169 |
| - <div className={`flex-center mt-1 mb-2 ${showReleaseFlag && useRelease ? "invisible" : ""}`}> |
170 |
| - <span className="mr-1">Source compatibility:</span> |
171 |
| - <VSCodeDropdown value={sourceLevel}> |
172 |
| - {jdkLevels(sourceLevel, "source", onClickSourceLevel)} |
173 |
| - </VSCodeDropdown> |
174 |
| - </div> |
175 |
| - <div className={`flex-center mb-2 ${showReleaseFlag && useRelease ? "invisible" : ""}`}> |
176 |
| - <span className="mr-1">Target compatibility:</span> |
177 |
| - <VSCodeDropdown value={targetLevel}> |
178 |
| - {jdkLevels(targetLevel, "target", onClickTargetLevel)} |
179 |
| - </VSCodeDropdown> |
| 162 | + <div> |
| 163 | + <VSCodeDataGrid gridTemplateColumns="40% 60%"> |
| 164 | + <VSCodeDataGridRow className={showReleaseFlag && useRelease ? "" : "invisible"}> |
| 165 | + <VSCodeDataGridCell className="flex-center pl-0 pr-0" gridColumn="1"> |
| 166 | + <span>Bytecode version:</span> |
| 167 | + </VSCodeDataGridCell> |
| 168 | + <VSCodeDataGridCell className="flex-center pl-0 pr-0" gridColumn="2"> |
| 169 | + <VSCodeDropdown value={complianceLevel}> |
| 170 | + {jdkLevels(complianceLevel, "compliance", onClickComplianceLevel)} |
| 171 | + </VSCodeDropdown> |
| 172 | + </VSCodeDataGridCell> |
| 173 | + </VSCodeDataGridRow> |
| 174 | + <VSCodeDataGridRow className={showReleaseFlag && useRelease ? "invisible" : ""}> |
| 175 | + <VSCodeDataGridCell className="flex-center pl-0 pr-0" gridColumn="1"> |
| 176 | + <span>Source compatibility:</span> |
| 177 | + </VSCodeDataGridCell> |
| 178 | + <VSCodeDataGridCell className="flex-center pl-0 pr-0" gridColumn="2"> |
| 179 | + <VSCodeDropdown value={sourceLevel}> |
| 180 | + {jdkLevels(sourceLevel, "source", onClickSourceLevel)} |
| 181 | + </VSCodeDropdown> |
| 182 | + </VSCodeDataGridCell> |
| 183 | + </VSCodeDataGridRow> |
| 184 | + <VSCodeDataGridRow className={showReleaseFlag && useRelease ? "invisible" : ""}> |
| 185 | + <VSCodeDataGridCell className="flex-center pl-0 pr-0" gridColumn="1"> |
| 186 | + <span>Target compatibility:</span> |
| 187 | + </VSCodeDataGridCell> |
| 188 | + <VSCodeDataGridCell className="flex-center pl-0 pr-0" gridColumn="2"> |
| 189 | + <VSCodeDropdown value={targetLevel}> |
| 190 | + {jdkLevels(targetLevel, "target", onClickTargetLevel)} |
| 191 | + </VSCodeDropdown> |
| 192 | + </VSCodeDataGridCell> |
| 193 | + </VSCodeDataGridRow> |
| 194 | + </VSCodeDataGrid> |
180 | 195 | </div>
|
181 | 196 | <div className={`mb-2 ${showSourceTargetWarning ? "" : "invisible"}`}>
|
182 | 197 | <span className="setting-section-warning">
|
|
0 commit comments