LogoLogo
  • AppFlowy
    • ⭐Start here
      • Welcome to AppFlowy Docs
      • How to get help
      • Install AppFlowy
    • 🛠️Installation
      • 🖥️System Requirements
      • 💿Installation methods
        • Mac / Windows / Linux Packages
          • Installing on Linux
            • Installing & Setting up Flutter on Linux from Source
        • Docker
    • 🌱Community
      • 🤙Get in contact
      • 📔AppFlowy Mentorship Program
        • Program Guidance
        • Proposal Template
        • Pull Request Template
        • Mentorship 2023
          • Mentee Projects
            • Calendar View for AppFlowy Database
            • Custom Themes
            • Shortcuts and Customized Hotkeys for AppFlowy
            • Table
            • ⭐Favorites
            • Code Block
            • Outlines
            • Importers
            • AI Writers
            • Templates
          • Project Ideas
      • ✍️Write for AppFlowy
        • 📃Drafts
          • [Draft] Use Case: Software Engineer
          • [Draft] Use Case: High School Students
          • [Draft] How to add a new property to appflowy database
      • 🍂Hacktoberfest
    • 🛣️Roadmap
    • 🌋Product
      • 💽Data Storage
      • 🎨Customize and Style Content
      • ⏮️Duplicate, Delete, and Restore
      • 💎Databases
        • 🔢Database Properties
        • 🗃️Manage Properties
      • Ⓜ️Markdown
      • ⌨️Shortcuts
      • 🪄AppFlowy AI
      • 🦙AppFlowy Local AI - Ollama
      • 🎨Themes
      • ☁️AppFlowy Cloud
      • 🧩AppFlowy Plugins
        • Table-view Databases
        • Kanban Board
        • Calendar
        • Auto Generator
        • Smart Edit
        • Code Blocks
        • Math Equations
        • Cover
        • Emoji
  • Documentation
    • 💎Software Contributions
      • 🟢Get started
      • 💀Architecture
        • Frontend
          • Tauri
            • 🗺️CodeMap
          • Web
            • 🌟Design Philosophy
          • Flutter
            • 🗺️Project Structure: CodeMap
            • 🧮Grid
            • ⚙️Setting
          • Inter-Process Communication
          • User
            • User Data
            • Events & Notifications
          • Folder
            • Events & Notifications
          • Document
          • Database View
            • Events & Notifications
            • Grid
            • Calendar
            • Kanban Board
        • Backend
          • Initialize
          • Events
          • Delta(WIP)
          • Profiling
          • Database
        • Domain Driven Design
        • Proposals
      • 🏗️Conventions
        • 🔤Naming Conventions
        • ⌨️Code Conventions
          • 🐦Flutter
        • 🐙Git Conventions
      • 💛Submitting Code
        • 🏦Setting Up Your Repositories
        • ⤴️Submitting your first Pull Request
      • 🤟Coding Standards and Practices
        • 👽Rust Backend
    • 🚀AppFlowy
      • 👾How to contribute to AppFlowy
      • 🏗️Building from Source
        • 🌳Flutter Setup
          • 🐧Building on Linux
          • 🍎Building on macOS
          • 🪟Building on Windows
        • 🌐Web Setup
        • 📡Tauri Setup
      • ☁️Debugging with AppFlowy Cloud
      • 🔁Debugging in VS Code
      • ☎️Translate AppFlowy
      • ❓Troubleshooting
      • 👮‍♀️Licenses
    • 🏍️AppFlowy Editor
      • ⌨️How to Implement Markdown Syntax To Style Text In AppFlowy Editor
      • 🧩How to Create a Plugin for AppFlowy Editor
      • 👮‍♀️Licenses
    • ☁️AppFlowy Cloud
      • 🌈Architecture
      • ☀️Deployment
  • Guides
    • Sync Desktop and Mobile
    • Self-Hosting AppFlowy
      • ☁️Self-hosting AppFlowy with AppFlowy Cloud
      • 🆓Self-hosting AppFlowy for free Using Supabase
    • Import From Notion
  • Blog Highlights
    • 🔮Demystifying AppFlowy Editor's Codebase
  • Handbook
    • Core values
Powered by GitBook
On this page
  • Launch Configurations
  • Tasks

Was this helpful?

Edit on GitHub
  1. Documentation
  2. AppFlowy

Debugging in VS Code

PreviousDebugging with AppFlowy CloudNextTranslate AppFlowy

Last updated 1 year ago

Was this helpful?

Multiple launch configurations and tasks are defined for AppFlowy. These are used in the build process in order to generate needed files, clean up temporary files, and compile the source code.

Launch Configurations

A launch configuration is what is used when you type F5 or Ctrl-F5to launch the application.

You can select your preferred launch configuration by going to the Run and Debug tab in VS Code.

Name
Description

AF-desktop: Build All

This will build the Rust and Dart code of AppFlowy.

AF-desktop: Build Dart Only

This will only build the Dart code of AppFlowy. This should be your default when you are working on Flutter code.

AF-desktop: Clean + Rebuild All

This task will:

  • call the "AF: Clean" task,

  • rebuild all the generated Files (including freeze and language files)

  • rebuild the the Rust and Dart code of AppFlowy.

This launch configuration is a convenience. A better way to do this would be to directly trigger the "AF-desktop: Clean + Rebuild All" task.

AF-desktop: Debug Rust

This will show the lldb attach menu, in which you should select the app_flowy program to debug rust. Please note that this task is only valid when app_flowy is running and the codellb plugin for VS Code is installed.

AF-tauri: Debug backend

Run the tauri application and enable debugging the backend

Launch configurations are defined in the /frontend/.vscode/launch.json file

Tasks

Tasks are be launched manually (although you are free to keybind them locally). You can see a list of all tasks available by initiating the command palette (Ctrl-Shift-P) and then typing "run task".

You can now type "AF:" to see a list of all AppFlowy provided tasks. Click on the desired task to trigger it.

We recommend binding the Alt-T key combination to the "Tasks: Run Task" command. This is done by initiating the command palette (Ctrl-Shift-P) and then typing "Open Keyboard Shortcuts".

Note that Ctrl-Shift-B will trigger the default build task. We have configured AF: Code Gen as the default build task.

In order to make them easy to identify, all AppFlowy defined tasks are prefixed with "AF: "

Name
Description
Depend On

AF: Clean + Rebuild All

This task will clean the code base, regenerate all needed files, and then build the Rust and Dart code of AppFlowy.

  • AF: Clean

  • AF: Flutter Pub

  • AF: Flutter Package Get

  • AF: Generate Language Files

  • AF: Generate Freezed Files

  • AF: build_flowy_sdk

AF: Build Appflowy Core

This task builds only the Rust code of AppFlowy.

AF: Code Gen

This task will regenerate the required files to build AppFlowy. This includes the language translations, freezed files. It does not include the protobuf files. Note: This is the "default build task", this can be executed at any time by typing Ctrl-Shift-B.

  • AF: Flutter Pub

  • AF: Flutter Package Get

  • AF: Generate Language Files

  • AF: Generate Freezed Files

AF: Flutter Pub Get

This will execute the flutter pub get command in the /frontend/app_flowy directory

AF: Flutter Package Get

This will execute the flutter packages pub get command in the /frontend/app_flowy directory

AF: Generate Freezed Files

This will generate all the required freezed files.

AF: Generate Language Files

This will generate all the required language translation files

AF: flutter build aar

This will build AppFlowy in .aar format

Tasks are defined in the /frontend/.vscode/tasks.json file.

🚀
🔁
Inititiate the command palette with Ctrl-Shift-P
The AppFlowy tasks