Skip to content

Commit 75ad9fb

Browse files
committed
add some additional notes
1 parent 336e472 commit 75ad9fb

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

.github/copilot-instructions.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,27 @@
2121
- **Debugging**: See `docs/debugger/` for advanced .NET debugging, including runtime and external library debugging.
2222
- **Roslyn Copilot Language Server**: To update/test, see instructions in `CONTRIBUTING.md` (triggers pipeline, checks logs for install, etc.)
2323

24+
## Infrastructure Tasks
25+
- **Tasks Directory**: Build automation is in `tasks/` using Gulp. Key modules:
26+
- `testTasks.ts`: Test orchestration for unit/integration tests across components
27+
- `offlinePackagingTasks.ts`: VSIX packaging for different platforms (`vsix:release:package:*`)
28+
- `componentUpdateTasks.ts`: Automated updates for Roslyn Copilot components
29+
- `snapTasks.ts`: Version bumping and changelog management for releases
30+
- `gitTasks.ts`: Git operations for automated PR creation and branch management
31+
- **Adding New Tasks**: Create `.ts` file in `tasks/`, define `gulp.task()` functions, require in `gulpfile.ts`
32+
- **Task Patterns**: Use `projectPaths.ts` for consistent path references, follow existing naming conventions (`test:integration:*`, `vsix:*`, etc.)
33+
2434
## Project Conventions & Patterns
2535
- **TypeScript**: Follows strict linting (`.eslintrc.js`), including header/license blocks and camelCase filenames (except for interfaces and special files).
2636
- **Component Downloads**: Language servers and debuggers are downloaded at runtime; see `package.json` for URLs and install logic.
2737
- **Copilot Providers**: Use `registerCopilotContextProviders` and `registerCopilotRelatedFilesProvider` to extend Copilot context for C#.
28-
- **Testing**: Tests are in `test/` and use Jest. Some grammars and language configs are embedded for Razor and XAML.
38+
- **Testing**: Prefer integration tests over unit tests for features. Structure follows:
39+
- `test/lsptoolshost/integrationTests/` for Roslyn/LSP features
40+
- `test/omnisharp/omnisharpIntegrationTests/` for OmniSharp features
41+
- `test/razor/razorIntegrationTests/` for Razor features
42+
- Use `test/*/integrationTests/integrationHelpers.ts` for test setup utilities
43+
- Tests use Jest with VS Code test environment and require workspace test assets
44+
- Run with `npm run test:integration:*` commands (e.g., `npm run test:integration:csharp`)
2945

3046
## Integration Points
3147
- **GitHub Copilot**: Extension registers C# context and related files providers if Copilot/Copilot Chat extensions are present.

0 commit comments

Comments
 (0)