Skip to content

Commit ae58e70

Browse files
committed
201
1 parent f82e0ff commit ae58e70

File tree

3 files changed

+34
-13
lines changed

3 files changed

+34
-13
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,7 @@
5757

5858
- support pinned tabs [#8](https://github.com/ctf0/vscode-save-editor-layout/issues/8)
5959
- fix updating a group not counting for the layout changes
60+
61+
### 2.0.1
62+
63+
- add new configs `restoreLayoutOnly` [#9](https://github.com/ctf0/vscode-save-editor-layout/issues/9) & `saveToGlobalWhenPossible`

package.json

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "save-editors-layout",
33
"displayName": "Save Editors Layout",
44
"description": "save opened editors layout",
5-
"version": "2.0.0",
5+
"version": "2.0.1",
66
"publisher": "ctf0",
77
"repository": "https://github.com/ctf0/vscode-save-editor-layout",
88
"engines": {
@@ -151,6 +151,16 @@
151151
"type": "boolean",
152152
"default": true,
153153
"description": "close sidebar after opening a group"
154+
},
155+
"saveEditorLayout.saveToGlobalWhenPossible": {
156+
"type": "boolean",
157+
"default": true,
158+
"markdownDescription": "save group globally when no workspace is opened\n\n require `#saveEditorLayout.saveToGlobal#` to be set to false"
159+
},
160+
"saveEditorLayout.restoreLayoutOnly": {
161+
"type": "boolean",
162+
"default": false,
163+
"description": "restore layout only without opening any files"
154164
}
155165
}
156166
},
@@ -180,9 +190,9 @@
180190
"watch": "npm run esbuild"
181191
},
182192
"devDependencies": {
183-
"@types/node": "^20.8.3",
193+
"@types/node": "^20.9.0",
184194
"@types/vscode": "^1.80.0",
185195
"typescript": "^5.2.2",
186-
"esbuild": "^0.19.4"
196+
"esbuild": "^0.19.5"
187197
}
188198
}

src/extension.ts

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,12 @@ async function save() {
8484
});
8585
}
8686

87-
await saveUserLists(list);
87+
try {
88+
await saveUserLists(list);
89+
} catch (error) {
90+
await saveUserLists(list, utils.config.saveToGlobalWhenPossible);
91+
}
92+
8893
await closeAllEditors();
8994
await showMsg(`"${name}" group ${type}`);
9095
}
@@ -123,13 +128,15 @@ async function open(groupName = null) {
123128
await runCommand('vscode.setEditorLayout', layout);
124129

125130
// open files
126-
for (const document of documents) {
127-
try {
128-
await showDocument(document);
129-
} catch ({ message }) {
130-
// console.error(message);
131-
132-
continue;
131+
if (utils.config.restoreLayoutOnly == false) {
132+
for (const document of documents) {
133+
try {
134+
await showDocument(document);
135+
} catch ({ message }) {
136+
// console.error(message);
137+
138+
continue;
139+
}
133140
}
134141
}
135142
}
@@ -238,8 +245,8 @@ function getNamesList(arr = getGroupsList()) {
238245
return arr.map((item) => item.name);
239246
}
240247

241-
async function saveUserLists(list) {
242-
return vscode.workspace.getConfiguration().update(`${utils.PACKAGE_NAME}.list`, list, utils.config.saveToGlobal);
248+
async function saveUserLists(list, forceGlobal = false) {
249+
return vscode.workspace.getConfiguration().update(`${utils.PACKAGE_NAME}.list`, list, utils.config.saveToGlobal || forceGlobal);
243250
}
244251

245252
function getOpenedTabs() {

0 commit comments

Comments
 (0)