<?xml version="1.0" encoding="utf-8"?>
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. -->
<Rule Name="ProjectDebugPropertyPage"
      Description="Properties associated with launching and debugging the project output."
      DisplayName="Project"
      PageTemplate="commandNameBasedDebugger"
      xmlns:sys="clr-namespace:System;assembly=mscorlib"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns="http://schemas.microsoft.com/build/2009/properties">

  <Rule.Metadata>
    <sys:String x:Key="CommandName">Project</sys:String>
  </Rule.Metadata>

  <Rule.DataSource>
    <DataSource Persistence="ProjectFileWithInterception"
                HasConfigurationCondition="False" />
  </Rule.DataSource>

  <StringProperty Name="CommandLineArguments"
                  DisplayName="Command line arguments"
                  Description="Command line arguments to pass to the executable." />

  <StringProperty Name="WorkingDirectory"
                  DisplayName="Working directory"
                  Description="Path to the working directory where the process will be started."
                  Subtype="folder" />

  <BoolProperty Name="RemoteDebugEnabled"
                DisplayName="Use remote machine"
                Description="Indicates that the debugger should attach to a process on a remote machine."/>

  <StringProperty Name="RemoteDebugMachine"
                  DisplayName="Remote machine name"
                  Description="The name and port number of the remote machine in 'name:port' format. Only applicable when 'Use remote machine' is enabled."/>

  <DynamicEnumProperty Name="AuthenticationMode"
                       DisplayName="Authentication mode"
                       Description="The authentication scheme to use when connecting to the remote machine. Only applicable when 'Use remote machine' is enabled."
                       EnumProvider="AuthenticationModeEnumProvider" />

  <StringProperty Name="EnvironmentVariables"
                  DisplayName="Environment variables"
                  Description="The environment variables to set prior to running the process. Variables are separated by a comma (,) and variables names and values are separated with an equal sign (=). Example: var1=value1,var2=value2,var3=value3. Commas and equal signs appearing within a variable can be escaped using a forward slash (/)."/>

  <BoolProperty Name="NativeDebugging"
                DisplayName="Enable native code debugging"
                Description="Enables debugging for managed and native code together, also known as mixed-mode debugging. "/>

  <BoolProperty Name="SqlDebugging"
                DisplayName="Enable SQL Server debugging" />
</Rule>
