mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-08 08:52:12 +00:00
Editing and folding
- Move Caret to Code Block Start / End with Selection, Auto-Indent Lines,
Move Element Left / Right (swaps call arguments, parameters and list
entries).
- Fold Code Block folds the {...} block around the caret; Expand to Level
and Expand All to Level 1-5.
- Custom folding regions (//region, #region, <editor-fold>) fold to their
description; Navigate > Custom Folding lists them.
- Error Description shows the problems at the caret; Next / Previous
Highlighted Usage steps through usage highlights.
- Editor tooltips stay below the editor's top edge, so hints on the first
lines no longer hide under the tab bar.
Navigation, project and run
- Navigate > File Path lists the file and its folders to reveal in the file
manager.
- Copy... (F5) opens the Copy dialog for the selection or the open file; the
project view's Refactor submenu gets Copy File.
- Debug... chooses a configuration to debug; Quick Evaluate Expression shows
the selection's value in an expandable hint.
- Inspect Current File runs the inspection without the scope dialog.
- Surround with Live Template lists only $SELECTION$ templates; Java gets
Callable, read / write lock and iterate templates.
Windows
- Stretch the active tool window left / right / up / down, Restore Default
Layout, Go to Next / Previous Splitter, Close Active Tab on a second key,
Stop Background Processes.
All actions have default shortcuts in both keymaps, VS Code preset entries,
main menu items and Chinese translations.
Project view and Keymap settings
- Project view Options: Sort by Name / Type / Modification Time (also in
Find Action).
- Settings > Keymap: Add Mouse Shortcut records a side-button click with
modifiers and checks conflicts like keyboard shortcuts.
- Folding: Expand to Level / Expand All to Level 1-5.
241 lines
3.9 KiB
CSS
241 lines
3.9 KiB
CSS
.page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
min-height: 420px;
|
|
}
|
|
.presetRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
min-height: 30px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.presetLabel {
|
|
color: var(--fg);
|
|
}
|
|
.presetSelect {
|
|
min-width: 220px;
|
|
}
|
|
.spacer {
|
|
flex: 1;
|
|
}
|
|
.modifiedNote {
|
|
color: var(--fg-subtle);
|
|
font-size: var(--fs-small);
|
|
}
|
|
|
|
.toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.search {
|
|
flex: 1;
|
|
max-width: 360px;
|
|
margin-right: 4px;
|
|
}
|
|
.shortcutFilter {
|
|
flex: 1;
|
|
max-width: 360px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
height: var(--h-control);
|
|
margin-right: 4px;
|
|
padding: 0 2px 0 8px;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border-strong);
|
|
}
|
|
.shortcutFilter:focus-within {
|
|
box-shadow: inset 0 0 0 1px var(--accent);
|
|
}
|
|
.leading {
|
|
color: var(--fg-subtle);
|
|
margin-right: 4px;
|
|
}
|
|
.filterRecorder {
|
|
flex: 1;
|
|
box-shadow: none;
|
|
padding: 0;
|
|
}
|
|
.filterRecorder:focus,
|
|
.filterRecorder:focus-visible {
|
|
box-shadow: none;
|
|
outline: none;
|
|
}
|
|
|
|
.treeWrap {
|
|
flex: 1;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border);
|
|
padding: 2px 0;
|
|
}
|
|
.empty {
|
|
padding: 8px 12px;
|
|
color: var(--fg-subtle);
|
|
}
|
|
.catRow,
|
|
.actionRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
min-width: 0;
|
|
flex: 1;
|
|
}
|
|
.catIcon {
|
|
color: var(--fg-subtle);
|
|
}
|
|
.catName {
|
|
color: var(--fg-emphasis);
|
|
}
|
|
.count {
|
|
color: var(--fg-faint);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.actionIcon {
|
|
display: inline-flex;
|
|
width: 14px;
|
|
color: var(--fg-subtle);
|
|
}
|
|
.actionTitle {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.modified {
|
|
color: var(--accent);
|
|
}
|
|
.bindings {
|
|
display: inline-flex;
|
|
gap: 4px;
|
|
padding-right: 10px;
|
|
}
|
|
.kbd {
|
|
color: var(--fg-muted);
|
|
}
|
|
|
|
/* recorder */
|
|
.mousePad {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 72px;
|
|
padding: 0 12px;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border-strong);
|
|
color: var(--fg-emphasis);
|
|
text-align: center;
|
|
cursor: default;
|
|
user-select: none;
|
|
}
|
|
.recorder {
|
|
display: flex;
|
|
align-items: center;
|
|
flex: 1;
|
|
min-width: 0;
|
|
height: var(--h-control);
|
|
padding: 0 8px;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border-strong);
|
|
color: var(--fg-emphasis);
|
|
cursor: text;
|
|
outline: none;
|
|
}
|
|
.recorder:focus {
|
|
box-shadow: inset 0 0 0 1px var(--accent);
|
|
}
|
|
.recorderDisabled {
|
|
opacity: 0.5;
|
|
cursor: default;
|
|
}
|
|
.recorded {
|
|
font-family: var(--font-keys);
|
|
letter-spacing: 0.04em;
|
|
}
|
|
.recorderPlaceholder {
|
|
color: var(--fg-faint);
|
|
}
|
|
|
|
/* record dialog */
|
|
.recordBody {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
padding: 14px;
|
|
}
|
|
.recordRow {
|
|
display: grid;
|
|
grid-template-columns: 120px minmax(0, 1fr);
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.recordLabel {
|
|
color: var(--fg);
|
|
}
|
|
.recordHint {
|
|
color: var(--fg-subtle);
|
|
font-size: var(--fs-small);
|
|
}
|
|
.conflicts {
|
|
min-height: 72px;
|
|
padding: 6px 8px;
|
|
border-radius: var(--radius-small);
|
|
box-shadow: inset 0 0 0 1px var(--border);
|
|
}
|
|
.noConflicts {
|
|
color: var(--fg-subtle);
|
|
}
|
|
.conflictTitle {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
color: var(--fg-emphasis);
|
|
}
|
|
.conflictIcon {
|
|
color: var(--warning);
|
|
}
|
|
.conflictList {
|
|
list-style: none;
|
|
margin: 6px 0 0;
|
|
padding: 0 0 0 20px;
|
|
max-height: 120px;
|
|
overflow: auto;
|
|
}
|
|
.conflictList li {
|
|
display: flex;
|
|
min-width: 0;
|
|
align-items: center;
|
|
gap: 8px;
|
|
height: var(--h-row);
|
|
}
|
|
.conflictAction {
|
|
color: var(--fg);
|
|
}
|
|
.conflictCategory {
|
|
color: var(--fg-subtle);
|
|
font-size: var(--fs-small);
|
|
}
|
|
|
|
.toolbarSep {
|
|
width: 1px;
|
|
height: 16px;
|
|
margin: 0 4px;
|
|
background: var(--border);
|
|
}
|
|
.conflictsLabel {
|
|
color: var(--fg);
|
|
padding-top: 4px;
|
|
}
|
|
.nameError {
|
|
color: var(--danger);
|
|
font-size: var(--fs-small);
|
|
padding-left: 128px;
|
|
}
|