Skip to content

Commit fca8e93

Browse files
committed
feat: Add psake VS Code extension v1.0 blog post and docs page
Announce the v1.0 release of the psake VS Code extension with a blog post covering task provider, CodeLens, explorer panel, and build script detection. Add a dedicated docs page under a new "Editor & Tool Integration" sidebar category with installation, configuration, and troubleshooting guidance. Add 'vscode' tag to tags.yml. https://claude.ai/code/session_01LN2nDFAVGisL6CyGy6LfGg
1 parent e2de482 commit fca8e93

5 files changed

Lines changed: 238 additions & 0 deletions

File tree

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
title: "psake Meets VS Code: The Official Extension Hits v1.0"
3+
description: "The psake VS Code extension v1.0 brings task discovery, CodeLens integration, a dedicated task explorer, and smart build script detection directly into your editor."
4+
date: 2026-03-10T18:00:00.000Z
5+
slug: psake-vscode-extension-v1
6+
authors:
7+
- heyitsgilbert
8+
tags:
9+
- announcement
10+
- release
11+
- psake
12+
- powershell
13+
- vscode
14+
keywords:
15+
- psake
16+
- VS Code
17+
- Visual Studio Code
18+
- extension
19+
- task runner
20+
- build automation
21+
- PowerShell
22+
- CodeLens
23+
- developer tools
24+
image: /img/social-card.png
25+
draft: false
26+
fmContentType: blog
27+
title_meta: "psake VS Code Extension v1.0"
28+
---
29+
30+
We're thrilled to announce the v1.0 release of the [psake VS Code extension](https://github.com/psake/psake-vscode)—bringing first-class psake support directly into the world's most popular code editor. If you've been running psake from the terminal, you can now discover, navigate, and execute your build tasks without ever leaving VS Code.
31+
32+
<!-- truncate -->
33+
34+
## Why a VS Code Extension?
35+
36+
A core part of our mission with psake is meeting developers where they already work. Whether that's through [AI-assisted workflows with Agent Skills](/blog/introducing-psake-agent-skill), CI/CD pipelines, or your daily editor—we want psake to feel native to your environment. With VS Code being the editor of choice for so many PowerShell developers, a dedicated extension was a natural next step.
37+
38+
## What's in v1.0
39+
40+
This isn't a minimal snippet pack. The v1.0 release is a full-featured integration that makes VS Code aware of your psake build system.
41+
42+
### Task Provider
43+
44+
The extension automatically detects tasks from your `psakefile.ps1` and surfaces them in VS Code's built-in task system. Your default task maps to the Build group, so `Ctrl+Shift+B` just works. Tasks refresh automatically when you save your build file—no manual reload needed.
45+
46+
### psake Tasks Explorer
47+
48+
A dedicated sidebar panel in the Explorer view gives you an at-a-glance view of every task in your project, complete with descriptions and dependency chains. Click any task to navigate directly to its definition, or hit the run button to execute it immediately.
49+
50+
### CodeLens Integration
51+
52+
Every `Task` declaration in your build file gets a "Run Task" CodeLens action. See a task, run it—right from the editor gutter. It's the fastest path from reading build logic to executing it.
53+
54+
### Smart Build Script Detection
55+
56+
If your project uses a wrapper script like `build.ps1` (a common pattern in the psake ecosystem), the extension detects it automatically and routes task execution through it. This means your bootstrapping, dependency installation, and any custom setup all run correctly—just as they would from the terminal.
57+
58+
### tasks.json IntelliSense
59+
60+
When you configure psake tasks in `.vscode/tasks.json`, the extension provides autocomplete for task names. Combined with the new "psake: Sync Tasks to tasks.json" command, you can quickly wire up your build tasks into VS Code's task runner with full IntelliSense support.
61+
62+
### Nine Code Snippets
63+
64+
Scaffolding new tasks and build file structures is faster with nine built-in snippets covering everything from basic task definitions to `Properties`, `Include`, `Framework`, `FormatTaskName`, `TaskSetup`, and `TaskTearDown` blocks.
65+
66+
## Quick Start
67+
68+
1. Install the [psake extension](https://marketplace.visualstudio.com/publishers/psake) from the VS Code Marketplace
69+
2. Make sure you have the [PowerShell extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell) installed
70+
3. Open a project that contains a `psakefile.ps1` or `build.ps1`
71+
4. The extension activates automatically—check the Explorer sidebar for the psake Tasks panel
72+
73+
That's it. No configuration required.
74+
75+
## v1.0.1: Configuration Enhancements
76+
77+
Hot on the heels of v1.0, we shipped v1.0.1 with additional configuration options for users who need more control:
78+
79+
- **`psake.codeLens.enabled`** — Toggle CodeLens on or off
80+
- **`psake.powershellExecutable`** — Specify a custom PowerShell executable
81+
- **`psake.shellArgs`** — Customize shell arguments (defaults to `-NoProfile`)
82+
- **`psake.invokeParameters`** — Pass extra parameters to `Invoke-psake`
83+
- **`psake.buildScriptParameters`** — Pass extra parameters to your build script
84+
- **`psake.buildScriptTaskParameter`** — Customize the task parameter name
85+
86+
All settings update dynamically—no restart needed.
87+
88+
## Part of a Growing Ecosystem
89+
90+
The VS Code extension joins a growing set of tools designed to make psake easy to use wherever you are:
91+
92+
- **[psake](https://github.com/psake/psake)** — The build automation engine
93+
- **[PowerShellBuild](https://github.com/psake/PowerShellBuild)** — Common build tasks for PowerShell modules
94+
- **[psake Agent Skill](https://github.com/psake/psake-llm-tools)** — AI-assisted psake expertise for Claude and GitHub Copilot
95+
- **[psake VS Code Extension](https://github.com/psake/psake-vscode)** — First-class editor integration
96+
97+
We're committed to making psake feel at home in every part of your development workflow. If you have ideas for where psake should go next, [open an issue](https://github.com/psake/psake-vscode/issues) or join the conversation.
98+
99+
Give the extension a try and let us know what you think!

blog/tags.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ dotnet:
8383
permalink: /dotnet
8484
description: .NET framework and .NET Core development
8585

86+
vscode:
87+
label: VS Code
88+
permalink: /vscode
89+
description: Visual Studio Code extension and editor integration
90+
8691
visual-studio:
8792
label: Visual Studio
8893
permalink: /visual-studio

docs/integrations/_category_.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"label": "Editor & Tool Integration",
3+
"position": 5
4+
}
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
sidebar_position: 1
3+
title: VS Code Extension
4+
description: Install and configure the psake VS Code extension for task discovery, CodeLens, and build automation directly in your editor.
5+
---
6+
7+
# VS Code Extension
8+
9+
The [psake VS Code extension](https://github.com/psake/psake-vscode) integrates psake's build system directly into Visual Studio Code. It automatically discovers your tasks, provides a dedicated explorer panel, and lets you run builds without leaving the editor.
10+
11+
## Prerequisites
12+
13+
- [Visual Studio Code](https://code.visualstudio.com/) v1.90 or later
14+
- [PowerShell extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell) for VS Code
15+
16+
## Installation
17+
18+
Install the extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/publishers/psake), or search for **psake** in the Extensions panel (`Ctrl+Shift+X`).
19+
20+
The extension activates automatically when your workspace contains a `psakefile.ps1`, `psake.ps1`, or `build.ps1`.
21+
22+
## Features
23+
24+
### Task Provider
25+
26+
The extension scans your `psakefile.ps1` and registers all tasks with VS Code's task system. Your default task is mapped to the Build group, so pressing `Ctrl+Shift+B` runs it immediately.
27+
28+
Tasks refresh automatically when you save your build file.
29+
30+
You can also reference psake tasks in `.vscode/tasks.json`:
31+
32+
```json
33+
{
34+
"version": "2.0.0",
35+
"tasks": [
36+
{
37+
"type": "psake",
38+
"task": "Build"
39+
}
40+
]
41+
}
42+
```
43+
44+
### psake Tasks Explorer
45+
46+
A sidebar panel in the Explorer view lists all discovered tasks with their descriptions and dependencies. From here you can:
47+
48+
- **Run** any task with a single click
49+
- **Navigate** to a task's definition in your build file
50+
- **View** task dependencies at a glance
51+
52+
### CodeLens
53+
54+
Each `Task` declaration in your build file displays a **Run Task** action inline. Click it to execute the task directly from the editor.
55+
56+
To disable CodeLens, set `psake.codeLens.enabled` to `false`.
57+
58+
### Build Script Detection
59+
60+
If your project includes a wrapper script such as `build.ps1`, the extension routes execution through it automatically. This ensures bootstrapping, dependency installation, and other setup steps run correctly.
61+
62+
Set `psake.buildScript` to `"none"` to disable wrapper detection and call `Invoke-psake` directly.
63+
64+
### Task Sync & IntelliSense
65+
66+
- **Sync command**: Run `psake: Sync Tasks to tasks.json` to add all discovered tasks to your workspace configuration while preserving existing customizations.
67+
- **IntelliSense**: The `"task"` property in `.vscode/tasks.json` provides autocomplete for psake task names when using the `psake` type.
68+
69+
### Snippets
70+
71+
Nine built-in snippets help you scaffold build files quickly:
72+
73+
| Prefix | Description |
74+
|---|---|
75+
| `psakeTask` | Basic task definition |
76+
| `psakeTaskFull` | Task with all options |
77+
| `psakeTaskDependsOnly` | Task that only declares dependencies |
78+
| `psakeProperties` | Properties block |
79+
| `psakeInclude` | Include statement |
80+
| `psakeFramework` | Framework block |
81+
| `psakeFormatTaskName` | FormatTaskName block |
82+
| `psakeTaskSetup` | TaskSetup block |
83+
| `psakeTaskTearDown` | TaskTearDown block |
84+
85+
### Scaffold Command
86+
87+
Run `psake: Install sample build file` to generate a starter `psakefile.ps1` with example tasks in your workspace.
88+
89+
## Configuration
90+
91+
All settings are under the `psake` namespace and update dynamically without restarting VS Code.
92+
93+
| Setting | Default | Description |
94+
|---|---|---|
95+
| `psake.buildFile` | `psakefile.ps1` | Default build file name |
96+
| `psake.taskProvider.enabled` | `true` | Enable automatic task detection |
97+
| `psake.codeLens.enabled` | `true` | Show Run Task CodeLens above task declarations |
98+
| `psake.buildScript` | `""` (auto-detect) | Path to wrapper build script, or `"none"` to disable |
99+
| `psake.buildScriptTaskParameter` | `Task` | Parameter name the build script uses for task selection |
100+
| `psake.buildScriptParameters` | `""` | Additional parameters passed to the build script |
101+
| `psake.invokeParameters` | `""` | Additional parameters passed to `Invoke-psake` |
102+
| `psake.powershellExecutable` | `""` (auto-detect) | Path to PowerShell executable |
103+
| `psake.shellArgs` | `["-NoProfile"]` | Arguments passed to the PowerShell executable |
104+
105+
## Troubleshooting
106+
107+
**Tasks not appearing?**
108+
- Verify your build file is named `psakefile.ps1` (or matches your `psake.buildFile` setting)
109+
- Check that `psake.taskProvider.enabled` is `true`
110+
- Run `psake: Refresh Tasks` from the Command Palette
111+
112+
**Build script not detected?**
113+
- The extension looks for `build.ps1` in the workspace root by default
114+
- Set `psake.buildScript` explicitly if your wrapper has a different name or location
115+
116+
**Using a non-standard PowerShell?**
117+
- Set `psake.powershellExecutable` to the full path of your PowerShell binary
118+
119+
## Further Reading
120+
121+
- [psake VS Code extension on GitHub](https://github.com/psake/psake-vscode)
122+
- [Debugging psake in VS Code](../troubleshooting/debugging-guide.md)
123+
- [psake Agent Skill for AI-assisted builds](/blog/introducing-psake-agent-skill)

sidebars.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ const sidebars: SidebarsConfig = {
7171
'ci-examples/team-city',
7272
]
7373
},
74+
{
75+
type: 'category',
76+
label: 'Editor & Tool Integration',
77+
items: [
78+
'integrations/vscode-extension',
79+
]
80+
},
7481
],
7582

7683
// PowerShellBuild - Companion module for building PowerShell modules

0 commit comments

Comments
 (0)