﻿<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="WindowsRemoteDebugger" DisplayName="远程 Windows 调试器" PageTemplate="debugger" Description="远程 Windows 调试器选项" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.DataSource>
    <DataSource Persistence="UserFile" />
  </Rule.DataSource>
  <StringProperty Name="RemoteDebuggerCommand" DisplayName="远程命令" Description="要执行的调试命令。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.RemoteCommand" />
  <StringProperty Name="RemoteDebuggerCommandArguments" DisplayName="远程命令参数" Description="要传递到应用程序的命令行参数。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.CommandArguments">
    <Argument Property="RemoteDebuggerCommand" />
  </StringProperty>
  <StringProperty Name="RemoteDebuggerWorkingDirectory" DisplayName="工作目录" Description="应用程序的工作目录。默认情况下，为包含项目文件的目录。" Subtype="folder" F1Keyword="VC.Project.IVCRemoteDebugPageObject.WorkingDirectory" />
  <StringProperty Name="RemoteDebuggerServerName" DisplayName="远程服务器名称" Description="指定远程服务器名称。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.RemoteMachine" />
  <EnumProperty Name="RemoteDebuggerConnection" DisplayName="连接" Description="指定连接类型。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.Remote">
    <EnumValue Name="RemoteWithAuthentication" DisplayName="带 Windows 身份验证的远程访问" Description="带 Windows 身份验证的远程访问" />
    <EnumValue Name="RemoteWithoutAuthentication" DisplayName="不带身份验证的远程访问" Description="不带身份验证的远程访问" />
  </EnumProperty>
  <EnumProperty Name="RemoteDebuggerDebuggerType" DisplayName="调试器类型" Description="指定要使用的调试器类型。如果设置为“自动”，则将根据 EXE 文件的内容选择调试器类型。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.DebuggerType">
    <EnumProperty.Metadata>
      <NameValuePair Name="IsDebugType" Value="true" />
    </EnumProperty.Metadata>
    <EnumValue Name="NativeOnly" DisplayName="仅限本机" />
    <EnumValue Name="ManagedOnly" DisplayName="仅限托管(.NET Framework)" />
    <EnumValue Name="Mixed" DisplayName="混合(.NET Framework)" />
    <EnumValue Name="ManagedCore" DisplayName="仅限托管(.NET Core)" />
    <EnumValue Name="NativeWithManagedCore" DisplayName="混合(.NET Core)" />
    <EnumValue Name="Auto" DisplayName="自动" />
    <EnumValue Name="Script" DisplayName="脚本" />
    <EnumValue Name="GPUOnly" DisplayName="仅限 GPU (C++ AMP)" />
    <EnumValue Name="JavaScriptForWebView2" DisplayName="JavaScript (WebView2)" />
  </EnumProperty>
  <StringListProperty Name="RemoteDebuggerEnvironment" DisplayName="环境" Description="指定调试对象的环境，或要与现有环境合并的变量。" Separator="&#xA;" F1Keyword="VC.Project.IVCRemoteDebugPageObject.Environment" />
  <DynamicEnumProperty Name="RemoteGPUDebuggerTargetType" DisplayName="调试加速器类型" Category="GPUOptions" EnumProvider="GPUTargets" F1Keyword="VC.Project.IVCRemoteDebugPageObject.GPUDebuggerTargetType" Description="要用于调试 GPU 代码的调试加速器类型。(GPU 调试器为活动状态时可用。)">
    <DynamicEnumProperty.Metadata>
      <NameValuePair Name="ParentPropertyName" Value="RemoteDebuggerDebuggerType" />
      <NameValuePair Name="ParentPropertyValue" Value="GPUOnly" />
    </DynamicEnumProperty.Metadata>
  </DynamicEnumProperty>
  <EnumProperty Name="GPURefDebuggerBreakOnAllThreads" DisplayName="GPU 默认断点行为" Category="GPUOptions" Description="设置 GPU 调试器中断的频率。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.GPUBreakOnAllThreads">
    <EnumValue Name="GPURefBreakOncePerWarp" DisplayName="每次换行中断一次" Description="每次换行中断一次" />
    <EnumValue Name="GPURefBreakForCPUThread" DisplayName="对每个线程中断(类似 CPU 行为)" Description="对每个线程中断(类似 CPU 行为)" />
    <EnumProperty.Metadata>
      <NameValuePair Name="ParentPropertyName" Value="RemoteDebuggerDebuggerType" />
      <NameValuePair Name="ParentPropertyValue" Value="GPUOnly" />
    </EnumProperty.Metadata>
  </EnumProperty>
  <BoolProperty Name="RemoteDebuggerAttach" DisplayName="附加" Description="指定调试器是否应尝试在启动调试时附加到现有进程。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.Attach" />
  <BoolProperty Name="RemoteDebuggerSQLDebugging" DisplayName="SQL 调试" Description="附加 SQL 调试器。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.SQLDebugging" />
  <StringProperty Name="DeploymentDirectory" DisplayName="部署目录" Description="在远程计算机上调试时，如果希望将项目输出的内容(PDB 文件除外)复制到远程计算机上，请在此指定路径" F1Keyword="VC.Project.IVCRemoteDebugPageObject.DeploymentDirectory" />
  <StringProperty Name="AdditionalFiles" DisplayName="其他要部署的文件" Description="在远程计算机上调试时，在此指定的文件和目录(项目输出除外)将被复制到部署目录(如果指定)。" Subtype="file" F1Keyword="VC.Project.IVCRemoteDebugPageObject.AdditionalFiles" />
  <BoolProperty Name="RemoteDebuggerDeployDebugCppRuntime" DisplayName="部署 Visual C++ 调试运行库" Description="指定是否为活动平台部署调试运行库。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.Remote" />
  <BoolProperty Name="RemoteDebuggerDeployCppRuntime" DisplayName="部署 Visual C++ 运行时库" Description="指定是否为活动平台部署运行时库。" F1Keyword="VC.Project.IVCRemoteDebugPageObject.Remote" />
  <BoolProperty Name="UseLegacyManagedDebugger" Visible="false" />
  <DynamicEnumProperty Name="RemoteDebuggerAmpDefaultAccelerator" DisplayName="Amp 默认快捷键" EnumProvider="AmpAccelerators" F1Keyword="VC.Project.IVCRemoteDebugPageObject.AmpDefaultAccelerator" Description="重写 C++ AMP 的默认快捷键选择。调试托管代码时不适用该属性。">
  </DynamicEnumProperty>
</Rule>