Skip to content

Commit ab0dd0b

Browse files
committed
feat: new configuration option to select csv column delimiter
1 parent b52271c commit ab0dd0b

File tree

3 files changed

+42
-4
lines changed

3 files changed

+42
-4
lines changed

package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,16 @@
152152
"Use the column name",
153153
"Use the column label\n'Extended metadata' must be set to true in the JDBC configuration"
154154
]
155+
},
156+
"vscode-db2i.codegen.csvColumnDelimiter": {
157+
"type": "string",
158+
"description": "Delimiter",
159+
"default": "Comma",
160+
"enum": [
161+
"Comma",
162+
"Semicolon",
163+
"Tab"
164+
]
155165
}
156166
}
157167
},

src/views/results/contributes.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,16 @@
4343
"Use the column name",
4444
"Use the column label\n'Extended metadata' must be set to true in the JDBC configuration"
4545
]
46+
},
47+
"vscode-db2i.codegen.csvColumnDelimiter": {
48+
"type": "string",
49+
"description": "Delimiter",
50+
"default": "Comma",
51+
"enum": [
52+
"Comma",
53+
"Semicolon",
54+
"Tab"
55+
]
4656
}
4757
}
4858
}

src/views/results/index.ts

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -414,10 +414,28 @@ async function runHandler(options?: StatementInfo) {
414414
case `sql`:
415415
let content = ``;
416416
switch (statementDetail.qualifier) {
417-
case `csv`: content = csv.stringify(data, {
418-
header: true,
419-
quoted_string: true,
420-
}); break;
417+
case `csv`:
418+
let delimiter;
419+
switch (Configuration.get(`codegen.csvColumnDelimiter`)) {
420+
case `Comma`:
421+
delimiter = `,`;
422+
break;
423+
case `Semicolon`:
424+
delimiter = `;`;
425+
break;
426+
case `Tab`:
427+
delimiter = `\t`;
428+
break;
429+
default:
430+
delimiter = `,`;
431+
break;
432+
}
433+
content = csv.stringify(data, {
434+
header: true,
435+
quoted_string: true,
436+
delimiter: delimiter
437+
});
438+
break;
421439
case `json`: content = JSON.stringify(data, null, 2); break;
422440

423441
case `sql`:

0 commit comments

Comments
 (0)