Skip to main content
DotNET Build Buddy can be configured through VS Code settings to customize its behavior. All settings are prefixed with dotnetBuildBuddy.

Accessing Settings

You can configure DotNET Build Buddy in several ways:
  1. Settings UI: Open VS Code Settings (Ctrl+, / Cmd+,) and search for “DotNET Build Buddy”
  2. settings.json: Edit your settings.json file directly
  3. Workspace Settings: Configure settings specific to your workspace

Core Settings

Auto Update

dotnetBuildBuddy.autoUpdate
boolean
default:true
Automatically update project files when changes are detected.When enabled, the extension monitors file changes and automatically updates project and solution files. Set to false to disable automatic updates and use manual commands only.
Example:
{
  "dotnetBuildBuddy.autoUpdate": true
}
When autoUpdate is disabled, you can still manually update files using the command palette commands. See fileWatcher.ts:60-64 for implementation details.

File Watching Settings

These settings control which files the extension monitors for changes.

Watch Patterns

dotnetBuildBuddy.watchPatterns
array
default:["**/*.cs","**/*.fs","**/*.vb"]
File patterns to watch for changes.Glob patterns that specify which source files should trigger project updates when modified, created, or deleted.
Example:
{
  "dotnetBuildBuddy.watchPatterns": [
    "**/*.cs",
    "**/*.fs",
    "**/*.vb",
    "**/*.xaml"
  ]
}
Add custom file extensions if you use additional .NET file types in your projects.

Exclude Patterns

dotnetBuildBuddy.excludePatterns
array
default:["**/bin/**","**/obj/**","**/node_modules/**"]
Patterns to exclude from watching.Glob patterns for directories and files that should be ignored during file monitoring. This prevents unnecessary updates from build artifacts and dependencies.
Example:
{
  "dotnetBuildBuddy.excludePatterns": [
    "**/bin/**",
    "**/obj/**",
    "**/node_modules/**",
    "**/.git/**",
    "**/packages/**"
  ]
}
Always exclude build output directories (bin/, obj/) to prevent infinite update loops.

NuGet Compatibility Settings

These settings control the NuGet package compatibility checking feature.

Enable Compatibility Checks

dotnetBuildBuddy.nugetCheckEnabled
boolean
default:true
Enable NuGet package compatibility checking.When enabled, the extension checks NuGet packages against your target framework and provides warnings for incompatible packages.
Example:
{
  "dotnetBuildBuddy.nugetCheckEnabled": true
}

Enable API Lookups

dotnetBuildBuddy.nugetApiEnabled
boolean
default:true
Enable real-time NuGet API lookups for package information.When enabled, the extension fetches package metadata from NuGet.org for accurate compatibility information. If disabled, only local rules are used.
Example:
{
  "dotnetBuildBuddy.nugetApiEnabled": true
}
Disabling API lookups reduces network requests but may result in less accurate compatibility information. See nugetCompatibilityChecker.ts:124-138 for fallback logic.

Cache Settings

dotnetBuildBuddy.nugetCacheEnabled
boolean
default:true
Enable caching of NuGet compatibility checks.When enabled, compatibility check results are cached to improve performance and reduce API calls.
dotnetBuildBuddy.nugetCacheExpiry
number
default:3600
Cache expiry time in seconds.How long cached compatibility results remain valid before being re-checked. Default is 3600 seconds (1 hour).
Example:
{
  "dotnetBuildBuddy.nugetCacheEnabled": true,
  "dotnetBuildBuddy.nugetCacheExpiry": 7200
}
Increase nugetCacheExpiry to 7200 (2 hours) or more if you work with stable package versions to reduce API calls.

Ignored Packages

dotnetBuildBuddy.nugetIgnoredPackages
array
default:[]
List of NuGet package names or patterns to ignore during compatibility checks.Use exact package names or wildcard patterns (e.g., Internal.*) to exclude packages from compatibility checking.
Example:
{
  "dotnetBuildBuddy.nugetIgnoredPackages": [
    "MyInternalPackage",
    "Company.Internal.*",
    "Legacy.Package"
  ]
}
Wildcard patterns use simple glob syntax. The pattern Internal.* matches packages starting with “Internal.”

API Timeout

dotnetBuildBuddy.nugetApiTimeout
number
default:5000
NuGet API request timeout in milliseconds.How long to wait for NuGet API responses before timing out. Default is 5000ms (5 seconds).
Example:
{
  "dotnetBuildBuddy.nugetApiTimeout": 10000
}
Increase the timeout if you have a slow network connection or frequently see timeout errors.

Complete Configuration Example

Here’s a complete example with all settings configured:
{
  // Core settings
  "dotnetBuildBuddy.autoUpdate": true,
  
  // File watching
  "dotnetBuildBuddy.watchPatterns": [
    "**/*.cs",
    "**/*.fs",
    "**/*.vb"
  ],
  "dotnetBuildBuddy.excludePatterns": [
    "**/bin/**",
    "**/obj/**",
    "**/node_modules/**"
  ],
  
  // NuGet compatibility
  "dotnetBuildBuddy.nugetCheckEnabled": true,
  "dotnetBuildBuddy.nugetApiEnabled": true,
  "dotnetBuildBuddy.nugetCacheEnabled": true,
  "dotnetBuildBuddy.nugetCacheExpiry": 3600,
  "dotnetBuildBuddy.nugetIgnoredPackages": [],
  "dotnetBuildBuddy.nugetApiTimeout": 5000
}

Settings by Use Case

Minimal Network Usage

For environments with limited network access:
{
  "dotnetBuildBuddy.nugetApiEnabled": false,
  "dotnetBuildBuddy.nugetCacheEnabled": true,
  "dotnetBuildBuddy.nugetCacheExpiry": 86400
}

Performance Optimized

For large projects with many packages:
{
  "dotnetBuildBuddy.nugetCacheEnabled": true,
  "dotnetBuildBuddy.nugetCacheExpiry": 7200,
  "dotnetBuildBuddy.nugetApiTimeout": 10000
}

Development with Internal Packages

For projects using internal or custom NuGet packages:
{
  "dotnetBuildBuddy.nugetIgnoredPackages": [
    "Company.Internal.*",
    "MyCustomPackage"
  ]
}

Next Steps

Watch Patterns

Learn how to configure file watching patterns

NuGet Settings

Deep dive into NuGet compatibility settings

Build docs developers (and LLMs) love