Skip to content

Commit 334eb72

Browse files
committed
VSCode updates
1 parent 1967a66 commit 334eb72

File tree

3 files changed

+32
-5
lines changed

3 files changed

+32
-5
lines changed

.vscode/extensions.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
"unwantedRecommendations": [
1818
// These are great for SDK-style / dotnet-first repos, but FieldWorks is MSBuild + native-heavy.
1919
// When enabled here, they tend to drive builds/tests via `dotnet build`, which fails on .vcxproj.
20-
"ms-dotnettools.csdevkit",
21-
"ms-dotnettools.csharp"
20+
"ms-dotnettools.csdevkit"
2221
]
2322
}

.vscode/settings.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,10 @@
7777
// Exclude external NuGet package tests (SIL.LCModel.Tests, etc.)
7878
// These test liblcm internals, not FieldWorks code, and have dependency conflicts
7979
"dotnet.unitTests.testCaseFilter": "FullyQualifiedName!~SIL.LCModel.Tests&FullyQualifiedName!~SIL.LCModel.Core.Tests&FullyQualifiedName!~SIL.LCModel.Utils.Tests",
80-
// Auto-build works because Src/Directory.Build.props sets OutputPath to Output/$(Configuration)/
81-
// This means dotnet build outputs to the same location as ./build.ps1
82-
"dotnet.automaticallyBuildProjects": true,
80+
// FieldWorks is mixed native/managed and uses scripted build orchestration.
81+
// Keep C# extension active for language services, but avoid background auto-build churn.
82+
"dotnet.preferCSharpExtension": true,
83+
"dotnet.automaticallyBuildProjects": false,
8384
// Git Graph extension settings
8485
"git-graph.dialog.merge.noFastForward": false,
8586
"git-graph.dialog.merge.squashCommits": false,

Docs/vscode-stability-profile.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# VS Code Stability Profile (FieldWorks)
2+
3+
This repository is a mixed native + managed solution (C++ + .NET Framework `net48`) with traversal orchestration in `FieldWorks.proj`.
4+
5+
## Supported inner-loop in VS Code
6+
7+
- Use `ms-dotnettools.csharp` for C# language services (IntelliSense, navigation, diagnostics).
8+
- Do **not** use C# Dev Kit (`ms-dotnettools.csdevkit`) in this workspace.
9+
- Use `ms-vscode.cpptools` for C/C++ editing and IntelliSense.
10+
- Build and test through repo scripts/tasks:
11+
- `./build.ps1`
12+
- `./test.ps1`
13+
14+
## Workspace settings rationale
15+
16+
- `dotnet.preferCSharpExtension=true` ensures .NET Framework projects are handled by the C# extension path.
17+
- `dotnet.automaticallyBuildProjects=false` avoids background build churn/conflicts in large mixed-language solutions.
18+
19+
## Test/build authority
20+
21+
- **Authoritative:** `./build.ps1` and `./test.ps1`
22+
- **VS Code Test UI:** optional/lightweight only.
23+
- **Visual Studio Test Explorer:** preferred for complex .NET Framework test discovery/debugging.
24+
25+
## Native toolchain note
26+
27+
If `cl` is not found in a terminal, initialize the Visual Studio developer environment (or run through the repo scripts, which do this for you).

0 commit comments

Comments
 (0)