vscode/\343\202\277\343\202\271\343\202\257\343\202\222\345\256\237\350\241\214\343\201\231\343\202\213\345\272\246\343\201\253\346\226\260\343\201\227\343\201\204\343\202\277\343\203\274\343\203\237\343\203\212\343\203\253\343\203\221\343\203\215\343\203\253\343\202\222\351\226\213\343\201\217.md
... ...
@@ -1,9 +1,10 @@
1 1
この記事はgpt-5.1によって生成されました。
2 2
3
+
3 4
## 概要
4 5
5 6
VS Code のタスク実行では、デフォルトで複数タスクが同じターミナル(shell)を共有します。
6
-タスク実行のたびに新しい shell を使いたい場合は、`tasks.json` の `"presentation"` 設定で制御します。
7
+タスク実行のたびに新しい shell を使いたい場合や、**同じタスクでも毎回新しいパネルを開きたい**場合は、`tasks.json` の `"presentation"` 設定で制御します。
7 8
8 9
---
9 10
... ...
@@ -26,19 +27,21 @@ VS Code のタスク実行では、デフォルトで複数タスクが同じタ
26 27
27 28
- `"dedicated"`
28 29
- タスクごとに専用ターミナルを 1 つ割り当てる
29
- - 同じタスクを再実行した場合は、同じ専用ターミナルを再利用する
30
+ - **同じタスク**を再実行した場合は、同じ専用ターミナルを再利用する
30 31
31 32
- `"new"`
32 33
- タスク実行のたびに新しいターミナルを作成する
34
+ - **同じタスクであっても毎回新しいパネル(ターミナル)が開く**
33 35
- 毎回新しい shell を起動し、使い回さない
34 36
35
-「毎回必ず新しい shell で実行したい」場合は `"panel": "new"` を指定します。
37
+「毎回必ず新しい shell で実行したい」「同一タスク実行でも毎回新しいパネルが欲しい」場合は `"panel": "new"` を指定します。
36 38
37 39
---
38 40
39 41
## タスク単位での設定例
40 42
41
-### 実行のたびに新しい shell を使うタスク
43
+### 実行のたびに新しい shell を使うタスク
44
+(同一タスクでも新規パネルを開く)
42 45
43 46
```jsonc
44 47
// .vscode/tasks.json
... ...
@@ -51,14 +54,15 @@ VS Code のタスク実行では、デフォルトで複数タスクが同じタ
51 54
"command": "echo hello && sleep 3",
52 55
"presentation": {
53 56
"reveal": "always",
54
- "panel": "new"
57
+ "panel": "new" // 同じタスクを何度実行しても毎回新しいターミナル
55 58
}
56 59
}
57 60
]
58 61
}
59 62
```
60 63
61
-`"run script"` タスクを実行するたびに、新しいターミナル(shell)が開かれます。
64
+この設定では、`"run script"` タスクを実行するたびに、
65
+**同じタスク名であっても**毎回新しいターミナル(shell)が開かれます。
62 66
63 67
### 同じタスク用に専用ターミナルを使う場合
64 68
... ...
@@ -85,7 +89,7 @@ VS Code のタスク実行では、デフォルトで複数タスクが同じタ
85 89
"version": "2.0.0",
86 90
"options": {
87 91
"presentation": {
88
- "panel": "new"
92
+ "panel": "new" // ここで全タスク共通のデフォルトを指定
89 93
}
90 94
},
91 95
"tasks": [
... ...
@@ -103,14 +107,21 @@ VS Code のタスク実行では、デフォルトで複数タスクが同じタ
103 107
}
104 108
```
105 109
106
-ここで `"panel": "new"` を設定しておくと、個々のタスクで `"presentation"` を上書きしない限り、すべてのタスクが実行のたびに新しいターミナル(shell)で起動されます。
110
+ここで `"panel": "new"` を設定しておくと、個々のタスクで `"presentation"` を上書きしない限り、
111
+**すべてのタスクが実行のたびに新しいターミナル(shell)で起動**されます。
107 112
108 113
---
109 114
110 115
## まとめ
111 116
112
-- タスク実行ごとに新しい shell を使いたい → `"panel": "new"`
113
-- タスクごとに専用ターミナルを使いたい → `"panel": "dedicated"`
114
-- 複数タスクでターミナルを共有してもよい → `"panel": "shared"`(デフォルト)
117
+- タスク実行ごとに新しい shell を使いたい
118
+ → `"panel": "new"`
119
+ → **同一タスクでも毎回新しいパネルが開く**
120
+
121
+- タスクごとに専用ターミナルを使いたい(同じタスクは同じパネルを再利用)
122
+ → `"panel": "dedicated"`
123
+
124
+- 複数タスクでターミナルを共有してもよい
125
+ → `"panel": "shared"`(デフォルト)
115 126
116
-`tasks.json` の `"presentation"` 設定で、VS Code のタスク実行時の shell の使われ方を調整できます。
... ...
\ No newline at end of file
0
+`tasks.json` の `"presentation"` 設定で、VS Code のタスク実行時の shell の使われ方を細かく制御できます。