You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -645,6 +647,32 @@ <h2 id="configure-run-and-debug">Configure run and debug</h2>
645
647
various debug adapters from the <ahref="https://github.com/Open-CMSIS-Pack/debug-adapter-registry">Debug Adapter Registry</a> and
646
648
taking the user inputs into account, the <strong>CMSIS Solution</strong> extension then generates the <code>launch.json</code> and <code>tasks.json</code>
647
649
files.</p>
650
+
<h3id="custom-launchjson-and-tasksjson-settings">Custom <code>launch.json</code> and <code>tasks.json</code> settings</h3>
651
+
<p>User defined launch configurations and tasks can be added directly into the workspace files. When updating these
652
+
files custom or modified entries are kept untouched if detected:</p>
653
+
<ul>
654
+
<li><code>.vscode/launch.json</code>
655
+
Each auto-generated configuration has an additional property <code>cmsis.updateConfiguration="auto"</code>. By either removing
656
+
this property, or by setting it to <code>manual</code> will exclude it from further automatic updates.</li>
657
+
<li><code>.vscode/tasks.json</code>
658
+
All auto-generated tasks have labels starting with <code>CMSIS</code>. Such tasks are removed on updates. Custom tasks
659
+
must assure they use names not starting with <code>CMSIS</code>.</li>
660
+
</ul>
661
+
<p>Instead of adding custom content into these automatically updated files causing version system modifications all the
662
+
time, one can extract those into configuration subfolders and only keep these under version control:</p>
663
+
<ul>
664
+
<li><code>.vscode/launch.json.d/*.json</code>
665
+
Each JSON file must respect the <code>launch.json</code> schema. All contained <code>configurations</code> are merged into the workspace
666
+
<code>.vscode/launch.json</code> file by <code>name</code> property. Auto-generated configurations can be overwritten if required without
667
+
attention to the <code>cmsis.updateConfiguration</code> property.</li>
668
+
<li><code>.vscode/tasks.json.d/*.json</code>
669
+
Each JSON file must respect the <code>tasks.json</code> schema. All contained <code>tasks</code> are merged into the workspace
670
+
<code>.vscode/tasks.json</code> file by <code>label</code> property. Auto-generated <code>CMSIS</code> tasks can be overwritten if required.</li>
671
+
</ul>
672
+
<p>For multi-solution workspaces, i.e., having multiple <code>.csolution.yml</code> files in subfolders, solution-specific
673
+
files in solution's <code>.vscode/launch.json.d/</code> and <code>.vscode/tasks.json.d/</code> directories are included for the
674
+
active solution applying the same rules as above. This can be used to include solution specific content into the
675
+
workspace configuration based on the currently used solution.</p>
648
676
<h3id="pyocd">pyOCD</h3>
649
677
<p>In the <ahref="manage_settings.html">Manage Solution</a> dialog, select the one of the debug adapters named <strong>xyz@pyOCD</strong>:</p>
650
678
<p>For the <strong>Debug Interface</strong>, you can:</p>
0 commit comments