Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,4 @@ tasks/
.specstory/
.windsurf/src/resources/settings.json
src/resources/settings.json
obj-x86_64-linux-gnu/
26 changes: 21 additions & 5 deletions src/widgets/window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1265,14 +1265,30 @@ void Window::openFile()
} else {
otherfiles.append(canonicalFile);
}

//先添加支持的文件
}
foreach (QString var, supportfileNames) {
addTab(var, true);

// 使用懒加载机制:只立即加载并激活第一个支持的文件
// 其他支持的文件作为待加载标签页,用户点击时才加载内容
if (!supportfileNames.isEmpty()) {
// 第一个文件立即加载并激活
addTab(supportfileNames.first(), true);

// 剩余支持的文件使用懒加载
for (int i = 1; i < supportfileNames.size(); ++i) {
const QString &filepath = supportfileNames[i];
QFileInfo fileInfo(filepath);
PendingTabInfo pendingInfo;
pendingInfo.filepath = filepath;
pendingInfo.truePath = filepath;
pendingInfo.displayName = fileInfo.fileName();
pendingInfo.isTemFile = false;
pendingInfo.cursorPosition = -1;
addPendingTab(pendingInfo);
}
}

//后添加不支持文件 在最后编辑页面显示
// 后添加不支持文件(在最后编辑页面显示)
// 不支持的文件无法懒加载,需要立即加载以显示错误提示
foreach (QString var, otherfiles) {
addTab(var, true);
}
Expand Down
Loading