✨ feat(vscode): 代码阅读预览标出新增 / 修改 / 删除的卡片(左侧改动色条、新增淡绿底挂小标、删掉的块原位收成一行可展开),筛选栏第二行写对比基准和改动统计,新文件顶部横幅
This commit is contained in:
1 parent
2a5806c6b5
commit
3b7ce69842
10 files changed
+491
-20
No files matched your search
@@ -839,3 +839,95 @@ body:is(.vscode-light, .vscode-high-contrast-light) .cr-colored { color: var(--c
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 代码差异:配色取 VS Code 编辑器行号旁的改动色带(新增绿、修改蓝、删除红),主题没给时用 Dark Modern 的默认值;
|
||||
* 行内的字增删用 diff 编辑器的插入 / 删除文字底色
|
||||
*/
|
||||
body {
|
||||
--cr-diff-add: var(--vscode-editorGutter-addedBackground, #2ea043);
|
||||
--cr-diff-mod: var(--vscode-editorGutter-modifiedBackground, #0078d4);
|
||||
--cr-diff-del: var(--vscode-editorGutter-deletedBackground, #f85149);
|
||||
}
|
||||
|
||||
/* 卡片左边外侧的改动色条:3px 宽、和卡片等高;没变的卡片留一条透明的,同一层的卡片照样对齐 */
|
||||
.cr-change-bar {
|
||||
width: 3px;
|
||||
flex-shrink: 0;
|
||||
border-radius: 1.5px;
|
||||
}
|
||||
.cr-change-bar[data-change="add"] { background: var(--cr-diff-add); }
|
||||
.cr-change-bar[data-change="mod"] { background: var(--cr-diff-mod); }
|
||||
.cr-change-bar[data-change="del"] { background: var(--cr-diff-del); }
|
||||
/* 卡片包了一层色条以后不再和子层相邻:悬停卡片时子层竖线换色改按外层认;问答区往右缩到和卡片对齐 */
|
||||
.cr-change-row:has(> div > .cr-block:hover) + .cr-level > * > .cr-guide,
|
||||
.cr-change-row:has(> div > .cr-block:hover) + .cr-qa + .cr-level > * > .cr-guide {
|
||||
background: var(--kind);
|
||||
}
|
||||
.cr-change-row + .cr-qa {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
/* 新增的卡片(连同它的子卡片):底色淡绿;最外面那张左上角压着「新增」小标 */
|
||||
.cr-block[data-change="add"] {
|
||||
background: color-mix(in srgb, var(--cr-diff-add) 10%, transparent);
|
||||
}
|
||||
.cr-block[data-change="add"]:hover {
|
||||
background: color-mix(in srgb, var(--cr-diff-add) 16%, transparent);
|
||||
}
|
||||
.cr-added-badge {
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
left: 6px;
|
||||
padding: 0 5px;
|
||||
border-radius: 3px;
|
||||
background: var(--cr-diff-add);
|
||||
color: #fff;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
line-height: 14px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 删掉的块:红色虚线边、淡红底、半透明,没有编辑、问 AI 按钮;展开后下面是旧内容,整张划掉 */
|
||||
.cr-removed {
|
||||
border: 1px dashed color-mix(in srgb, var(--cr-diff-del) 80%, transparent);
|
||||
background: color-mix(in srgb, var(--cr-diff-del) 6%, transparent);
|
||||
opacity: 0.6;
|
||||
}
|
||||
.cr-removed:hover {
|
||||
opacity: 0.8;
|
||||
}
|
||||
.cr-removed-head {
|
||||
color: var(--vscode-descriptionForeground);
|
||||
}
|
||||
.cr-removed-head:focus-visible {
|
||||
outline: 1px solid var(--vscode-focusBorder);
|
||||
outline-offset: 1px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.cr-removed-label {
|
||||
color: var(--cr-diff-del);
|
||||
}
|
||||
.cr-removed-title {
|
||||
color: var(--cr-function);
|
||||
font-family: var(--vscode-editor-font-family, monospace);
|
||||
}
|
||||
.cr-removed-old,
|
||||
.cr-removed-old * {
|
||||
text-decoration-line: line-through;
|
||||
}
|
||||
|
||||
/* 筛选栏第二行:对比基准、改动统计、「只看改动」、上一处 / 下一处 */
|
||||
.cr-diff-stat[data-change="add"] { color: var(--cr-diff-add); }
|
||||
.cr-diff-stat[data-change="mod"] { color: var(--cr-diff-mod); }
|
||||
.cr-diff-stat[data-change="del"] { color: var(--cr-diff-del); }
|
||||
|
||||
/* 基准里没有这个文件:顶部一条横幅,卡片不再逐张标绿 */
|
||||
.cr-new-file {
|
||||
border: 1px solid color-mix(in srgb, var(--cr-diff-add) 50%, transparent);
|
||||
background: color-mix(in srgb, var(--cr-diff-add) 14%, transparent);
|
||||
}
|
||||
.cr-new-file > svg {
|
||||
color: var(--cr-diff-add);
|
||||
}
|
||||
Reference in new issue
Block a user