All Projects → cake-build → cake-vscode

cake-build / cake-vscode

Licence: MIT license
Contains Cake extension for Visual Studio Code.

Programming Languages

typescript
32286 projects
C#
18002 projects

Projects that are alternatives of or similar to cake-vscode

Vscode Theme Onedark
VSCode Theme based on Atom's One Dark theme
Stars: ✭ 165 (+283.72%)
Mutual labels:  visual-studio-code
Vscode As3mxml
ActionScript & MXML language extension for Visual Studio Code. Develop apps for Adobe AIR, Adobe Flash Player, or Apache Royale.
Stars: ✭ 205 (+376.74%)
Mutual labels:  visual-studio-code
Git Credential Manager For Windows
Secure Git credential storage for Windows with support for Visual Studio Team Services, GitHub, and Bitbucket multi-factor authentication.
Stars: ✭ 2,732 (+6253.49%)
Mutual labels:  visual-studio-code
Vscode Twitch Highlighter
This is a VS Code extension that will allow your Twitch chat to highlight a line of code via a command message. Example: `!line 8 server.js`. See master branch README.md for more details
Stars: ✭ 169 (+293.02%)
Mutual labels:  visual-studio-code
Code D
Fully featured D language extension for Visual Studio Code using Serve-D
Stars: ✭ 202 (+369.77%)
Mutual labels:  visual-studio-code
Vscode Theme Alabaster
A light theme for Visual Studio Code
Stars: ✭ 233 (+441.86%)
Mutual labels:  visual-studio-code
Vscode Auto Rename Tag
Automatically rename paired HTML/XML tag
Stars: ✭ 161 (+274.42%)
Mutual labels:  visual-studio-code
bazel-stack-vscode
VSCode Extension for Bazel
Stars: ✭ 50 (+16.28%)
Mutual labels:  visual-studio-code
Visual Studio Code
🎨 Omni for Visual Studio Code
Stars: ✭ 205 (+376.74%)
Mutual labels:  visual-studio-code
Swdc Vscode Musictime
A VS Code extension to discover the most productive music to listen to as you code
Stars: ✭ 242 (+462.79%)
Mutual labels:  visual-studio-code
Html Css Class Completion
🍫 Visual Studio Code extension that provides CSS class name completion for the HTML class attribute based on the CSS files in your workspace
Stars: ✭ 174 (+304.65%)
Mutual labels:  visual-studio-code
Vscode Dash
Dash, Zeal and Velocity documentation integration in Visual Studio Code 🔎📖
Stars: ✭ 176 (+309.3%)
Mutual labels:  visual-studio-code
Writing
📚📝 Notes on the journey
Stars: ✭ 234 (+444.19%)
Mutual labels:  visual-studio-code
Pythonvscode
This extension is now maintained in the Microsoft fork.
Stars: ✭ 2,013 (+4581.4%)
Mutual labels:  visual-studio-code
Vscode
Visual Studio Code
Stars: ✭ 125,417 (+291567.44%)
Mutual labels:  visual-studio-code
Vscode Remote Release
Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.
Stars: ✭ 2,256 (+5146.51%)
Mutual labels:  visual-studio-code
Fsautocomplete
F# language server using Language Server Protocol
Stars: ✭ 208 (+383.72%)
Mutual labels:  visual-studio-code
vscode-icons-manager--electron
Manage vscode icons by Dhanish Gajjar easy with ease
Stars: ✭ 22 (-48.84%)
Mutual labels:  visual-studio-code
vscode-whats-new
VS Code submodule for a What's New page
Stars: ✭ 26 (-39.53%)
Mutual labels:  visual-studio-code
Vscode Restructuredtext
reStructuredText Language Support in Visual Studio Code
Stars: ✭ 243 (+465.12%)
Mutual labels:  visual-studio-code

Cake

This extension brings language support for Cake build scripts to Visual Studio Code.

Table of Contents

  1. What is Cake?
  2. Commands
  3. Snippets
  4. Task Provider
  5. Codelens
  6. Resouce Video
  7. Thanks

What is Cake?

Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

For more information about Cake, please see the Cake website or the Cake source code repository.

Commands

In addition to integrated editing features, the extension also provides commands in the Command Palette for working with Cake files:

  • Cake: Install a bootstrapper to install a Cake bootstrapper for Windows, OS X or Linux in the root folder.
  • Cake: Install to workspace will run through all of the available commands at once, to save having to run them one by one
  • Cake: Install debug dependencies to install the .NET global tool.
  • Cake: Install sample build file to install a sample Cake File that contains Setup and Teardown actions, a sample task, and argument parsing.
  • Cake: Add addin from NuGet to add or update an Addin from NuGet in the specified Cake file.
  • Cake: Add tool from NuGet to add or update a Tool from NuGet in the specified Cake file.
  • Cake: Add module from NuGet to add or update a Module from NuGet in the modules package.config.
  • Cake: Install a configuration file to install the default Cake Configuration file for controlling internal components of Cake.
  • Cake: Update intellisense support to download the Cake.Bakery NuGet Package into the extension folder, which in conjunction with OmniSharp provides intellisense support for Cake Files.

Snippets

  • cake-addin
    • Provides a basic addin pre-processor directive, where the package name and version can be changed
    • Default Value: #addin "nuget:?package=Cake.Foo&version=1.2.3"
  • cake-addin-full
    • Provides a more complete addin pre-processor directive, where source, package name and version can be changed
    • Default Value: #addin "nuget:https://www.nuget.org/api/v2?package=Cake.Foo&version=1.2.3"
  • cake-argument
    • Provides code for basic input argument parsing, where variable name, argument name and default value can be changed
    • Default Value: var target = Argument("target", "Default");
  • cake-load
    • Provides a basic load pre-processor directive, where the path to the .cake file can be changed
    • Default Value: #load "scripts/utilities.cake"
  • cake-load-nuget
    • Provides a more complex load pre-processor directive, where source, package name and version can be changed
    • Default Value: #load "nuget:https://www.nuget.org/api/v2?package=Cake.Foo&version=1.2.3"
  • cake-reference
    • Provides a basic reference pre-processor directive, where path to the assembly can be changed
    • Default Value: #reference "bin/myassembly.dll"
  • cake-sample
    • Provides a complete sample Build Cake Script including Setup and Teardown actions, a single task, and argument parsing
  • cake-tool
    • Provides a basic tool pre-processor directive, where the package name and version can be changed
    • Default Value: #tool "nuget:?package=Cake.Foo&version=1.2.3"
  • cake-tool-full
    • Provides a more complete tool pre-processor directive, where source, package name and version can be changed
    • Default Value: #tool "nuget:https://www.nuget.org/api/v2?package=Cake.Foo&version=1.2.3"
  • task
    • Provides a basic task definition, where the name of the task can be changed
    • Default Value: Task("name");
  • task (With Action)
    • Provides a more complex task definition, including an .Does body, where the name of the task can be changed

Task Provider

The extension will also parse all *.cake files in the workspace and make them executable via the built in Tasks: Run Task command.

There are a number of configuration options which allow you to control how the Task Provider works:

  • cake.taskRunner.autoDetect: a boolean value which toggles auto detection of Tasks on or off. Default value is true
  • cake.taskRunner.installNetTool: a boolean value which configures whether to install the Cake .NET tool before running tasks. Default value is true.
  • cake.taskRunner.scriptsIncludePattern: a glob pattern which specifies how to detect .cake files in the current workspace. Default value is **/*.cake.
  • cake.taskRunner.scriptsExcludePattan: a glob pattern which specifies all files and folders that shouldn't be included in search of current workspace. Default value is "".
  • cake.taskRunner.taskRegularExpression: a regular expression pattern which is used to identify Tasks within the *.cake files. Default value is Task\\s*?\\(\\s*?\"(.*?)\"\\s*?\\).
  • cake.taskRunner.launchCommand: the name of the build script to run, when running a task. This is a complex object, consisting of at least one property default and optionally properties corresponding to values of os.platform() for non-default values specific to different platforms. Default value is null which is equal to specifying {"default": "~/.dotnet/tools/dotnet-cake", "win32": "dotnet-cake.exe"}.
  • cake.taskRunner.verbosity: allows you to control cake run task verbosity (diagnostic, minimal, normal, quiet and verbose. Default value is normal.

Codelens

The extension uses codelens to allow you to run and debug tasks individually on any *.cake file in your current workspace.

There are a number of configuration options which allow you to control the Cake output verbosity and what host framework to use for the debug session, etc.

  • cake.codeLens.showCodeLens: a boolean value which toggles codelens on or off. Default value is true.
  • cake.codeLens.installNetTool: a boolean value which configures codelens to install the Cake .NET tool before running or debugging. Default value is true.
  • cake.codeLens.scriptsIncludePattern: a glob pattern which specifies how to detect .cake files in the current workspace. Default value is **/*.cake.
  • cake.codeLens.taskRegularExpression: a regular expression pattern which is used to identify Tasks within the *.cake files. Default value is Task\\s*?\\(\\s*?\"(.*?)\"\\s*?\\).
  • cake.codeLens.debugTask.verbosity: allows you to control cake debug task verbosity (diagnostic, minimal, normal, quiet and verbose. Default value is normal.
  • cake.codeLens.debugTask.debugType: framework type of the debug session (coreclr). Default value is coreclr.
  • cake.codeLens.debugTask.request: request type of the debug session. Default value is launch.
  • cake.codeLens.debugTask.program: executable of the debug session (e.g. ~/.dotnet/tools/dotnet-cake for debugType coreclr on MacOS and Linux or ~/.dotnet/tools/dotnet-cake.exe for debugType coreclr on Windows). This is a complex object, consisting of at least one property default and optionally properties corresponding to values of os.platform() for non-default values specific to different platforms. Default value is null which is equal to specifying {"default": "~/.dotnet/tools/dotnet-cake", "win32": "dotnet-cake.exe"}.
  • cake.codeLens.debugTask.cwd: path to the working directory of the program being debugged. Default value is ${workspaceRoot}.
  • cake.codeLens.debugTask.stopAtEntry: if true, the debugger should stop at the entry point of the target. Default value is false.
  • cake.codeLens.debugTask.console: console used by the debugger (internalConsole, integratedTerminal or externalTerminal) . Default value is internalConsole.
  • cake.codeLens.debugTask.logging.exceptions: flag to determine whether exception messages should be logged to the output window. Default value is false.
  • cake.codeLens.debugTask.logging.moduleLoad: flag to determine whether module load events should be logged to the output window. Default value is false.
  • cake.codeLens.debugTask.logging.programOutput: flag to determine whether program output should be logged to the output window when not using an external console. Default value is false.
  • cake.codeLens.debugTask.logging.engineLogging: flag to determine whether program output should be logged to the output window when not using an external console. Default value is false.
  • cake.codeLens.debugTask.logging.browserStdOut: flag to determine if stdout text from the launching the web browser should be logged to the output window. Default value is false.

Remark: While the command to debug a task is configurable using the cake.codeLens.debugTask.program setting, there is no specific setting for configuring the command to run a task. For this case the cake.taskRunner.launchCommand setting is used (see above). In addition, the verbosity used with running a task is controlled via the cake.taskRunner.verbosity setting.

CodeSymbols

The extension produces "code symbols", which are in turn used by Visual Studio Code to produce the code outline and breadcrumb navigation.

There are configuration options to allow you to configure the symbol generation:

  • cake.codeSymbols.contextRegularExpression: a regular expression pattern to get contexts from Cake script. Default value is (Setup|TaskSetup|Teardown|TaskTeardown|RunTarget)\\s*?.
  • cake.codeSymbols.taskRegularExpression: a regular expression pattern to get tasks from Cake script. Default value is (Task\\s*?\\(\\s*?\"(.*?)\"\\s*?\\)|Setup\\(.*=>|TearDown\\(.*=>|RunTarget\\(.*\\);).

Resource Video

There is a short introduction video to the Visual Studio Code Extension for Cake here:

Introduction to Visual Studio Extension for Cake

Thanks

The NuGet commands which have been added to this extension were based on this excellent work in this VSCode Extension. Rather than modify the projects .csproj or .fsproj files, the commands in this extension edit the .cake and packages.config files. Our thanks go to @jmrog for showing how this could be done!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].