小编Ste*_*zee的帖子

VSCode 未创建 launch.json 文件

我正在使用 msvc 调试 VSCode 中的项目。当我运行调试器时,VSCode 要求我选择一个环境,我选择“C++ (Windows)”选项:

选择环境

然后它要求我选择一个配置:

在此输入图像描述

我选择“cl.exe 构建和调试活动文件”。一切运行正常,并在我下次尝试构建项目时创建带有“tasks.json”文件的“.vscode”文件夹。它不会创建“launch.json”,因此每次我想运行调试器时,我都必须再次选择配置。在之前的项目中,“launch.json”是使用正确的配置创建的:

在此输入图像描述

为什么 vscode 不创建“launch.json”文件?我错过了什么吗?

visual-c++ visual-studio-code

10
推荐指数
1
解决办法
7439
查看次数

SwiftUI - 有没有办法向视图添加手势而不覆盖子视图的任何手势?

据我所知,在 SwiftUI 中从 TextField 中关闭键盘的唯一内置方法是按 Return 键。我想这样做,这样我就可以点击屏幕上除 TextView 之外的某个位置并关闭键盘。有一种方法可以这样做:

var body: some View {
  VStack(alignment: .center, spacing: 0) {
    Text("some text")
      .frame(maxWidth: .infinity)
      .contentShape(Rectangle())
      .onTapGesture(
        // dismiss keyboard here
      )

    TextField("text", $binding)

    Text("more text")
      .frame(maxWidth: .infinity)
      .contentShape(Rectangle())
      .onTapGesture(
        // dismiss keyboard here
      )
  }                  
}
Run Code Online (Sandbox Code Playgroud)

那就有点麻烦了。我想这样做:

var body: some View {
  VStack(alignment: .center, spacing: 0) {
    Text("some text")

    TextField("text", $binding)

    Text("more text")
  } 
  .frame(maxWidth: .infinity)
  .contentShape(Rectangle())
  .onTapGesture(
    // dismiss keyboard here
  )          
}
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都有效,但最外层视图上的手势会覆盖文本字段的手势。当您第一次按下文本字段时,键盘会显示,但是当您再次按下它时,它会消失,这是我不想要的。我希望子视图手势优先。如果 VStack 中有一个按钮,它应该只注册该按钮,而不注册关闭手势。我正在研究 GestureMask 和 ExclusiveGesture 但找不到方法。有没有人知道的方法?

gesture swiftui

4
推荐指数
1
解决办法
2355
查看次数

标签 统计

gesture ×1

swiftui ×1

visual-c++ ×1

visual-studio-code ×1