Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>LogScope-Android HAL Logcat ToolNew to Visual Studio Code? Get it now.
LogScope-Android HAL Logcat Tool

LogScope-Android HAL Logcat Tool

hidka.com

|
54 installs
| (2) | Free
A professional logcat tool for Android HAL developers with virtual scrolling, smart filtering, and workflow automation.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

LogScope - High Performance Android Logcat Visualizer

LogScope is a VS Code extension designed for Android developers, providing high-performance log streaming, intelligent filtering, workflow automation, and code navigation. It aims to replace traditional command-line Logcat and Android Studio Logcat, allowing you to seamlessly debug Android devices within VS Code.

LogScope Preview

✨ Core Features

1. 🚀 Extreme Performance

  • Million-Line Support: Based on Virtual Scrolling technology, smoothly rendering millions of log lines.
  • Smart Pruning: Built-in intelligent memory management automatically cleans up stale logs to ensure continuous smooth operation.
  • Low Overhead IPC: Optimized data transmission protocol sends only necessary display data through Webview, greatly reducing CPU usage.

2. 🔍 Powerful Filter Engine

Supports multiple filtering syntaxes to meet complex debugging needs:

  • Tag Filter: tag:AudioFlinger or tag:MyTag
  • Process/Thread: pid:1000 or tid:2345
  • Log Level: level:E (Error), level:W (Warning), etc.
  • Message Content: message:NPE or input NPE directly
  • Combined Query: tag:Camera pid:123 level:E (Find errors in process 123 under Tag Camera)
  • Negative Filter: -tag:Wifi (Exclude Wifi tag) or !message:ping

3. 📱 Device Management

  • Auto Discovery: Automatically detects and lists connected Android devices.
  • Fast Switching: Switch target devices with one click in the sidebar, automatically restarting the log stream.
  • Status Monitoring: Real-time monitoring of connection status, with auto-recovery on disconnect/reconnect.

4. ⚡ Workflow Automation

LogScope allows you to define a series of automated tasks via configuration files, such as "Clear Data -> Restart App -> Capture Specific Logs".

Configuration Method

Create a logscope.json file in the .vscode folder under your project root.

Example Configuration (.vscode/logscope.json)

{
  "commands": {
    "clear_data": "adb shell pm clear com.example.app",
    "launch_app": "adb shell monkey -p com.example.app -c android.intent.category.LAUNCHER 1"
  },
  "workflows": [
    {
      "name": "Reset and Capture Logs",
      "description": "Clear app data, restart app, and start capturing logs",
      "openLogPanel": true,
      "steps": [
        "clear_data", 
        {
          "command": "launch_app",
          "label": "Launch App"
        },
        {
          "command": "adb shell input tap 500 500",
          "label": "Simulate Click",
          "ignoreErrorCode": true
        }
      ]
    },
    {
      "name": "Screenshot to PC",
      "steps": [
        {
          "command": "adb shell screencap -p /sdcard/screenshot.png",
          "label": "Capture Screenshot"
        },
        {
          "command": "adb pull /sdcard/screenshot.png ${workspaceFolder}/screenshots/",
          "label": "Pull file to project directory"
        }
      ]
    }
  ]
}

Key Capabilities

  • Command Reuse: Define common commands in the commands field and reference them by name in workflows.
  • Variable Substitution:
    • ${workspaceFolder}: Replaced with the current VS Code open folder path.
    • ${deviceId}: Automatically replaced with the currently selected device ID.
  • Smart ADB Injection: If a command starts with adb, the plugin automatically inserts the -s <device_id> parameter to ensure the command is sent to the selected device.
  • Mixed Steps: Steps can be strings (referencing command names) or objects (defining inline commands, working directories, etc.).

5. 🔗 Smart Code Navigation

  • Stack Traces: Automatically identifies C++/Java/Kotlin stack trace info in logs.
  • Path Mapping: After configuring pathMapping, clicking filenames in logs jumps directly to the local code line in VS Code.

📖 Usage Guide

Starting Logs

  1. Connect an Android device (and confirm via adb devices).
  2. Click the LogScope icon in the VS Code sidebar.
  3. Select the target device in the Devices view.
  4. Logs will automatically start scrolling in the right panel.

Filter Syntax Details

Enter filter conditions in the input box at the top:

Syntax Description Example
tag:<value> Match Tag tag:ActivityManager
pid:<id> Match Process ID pid:12345
tid:<id> Match Thread ID tid:9876
level:<char> Match Level (V/D/I/W/E/F) level:E
<text> Fuzzy match message content NullPointerException
-<filter> Exclude condition -tag:SurfaceFlinger
! Exclude (Same as above) !pid:0

Tip: Multiple conditions separated by spaces indicate an AND relationship. For performance optimization, multiple positive conditions of the same type (like tag:A tag:B) are usually treated as an OR relationship.

Resizing Columns

  • Hover over the header separator line, and when the cursor changes to resize style, drag to adjust the width of columns like Time, PID, TID, Tag. Double-click the separator to reset.

⚙️ Configuration

Configure LogScope in VS Code Settings (settings.json):

{
  // ADB Logcat base command parameters
  "logScope.logcatCommand": "logcat -v threadtime",

  // Path Mapping: Map server paths in logs to local project paths
  // Format: "Absolute path prefix in log": "${workspaceFolder}/Local relative path"
  "logScope.pathMapping": {
    "/proc/self/cwd/": "${workspaceFolder}/src/cpp/",
    "com.example.app": "${workspaceFolder}/app/src/main/java/"
  },
  
  // Font Size
  "logScope.fontSize": 12,
  
  // Font Family
  "logScope.fontFamily": "'JetBrains Mono', 'Courier New', monospace"
}

⌨️ Shortcuts

  • Ctrl+L (Mac: Cmd+L): Clear current logs
  • Ctrl+F: Focus filter input box
  • Space: Pause/Resume log scrolling

🛠️ FAQ

Q: Cannot connect to device? A: Please ensure adb is configured in your system environment variables, or that adb devices runs in the terminal. LogScope reuses the system's ADB connection.

Q: Cannot find specific logs? A: Please check if level filtering is enabled, or if there are typos in the filter words. Try clearing all filters to view the raw stream.

Q: Why are logs not real-time? A: When logs are generated extremely fast, we perform slight buffering to ensure interface smoothness. The latency is usually in milliseconds and imperceptible to the naked eye.


LogScope —— Making Android Log Debugging Simpler and More Professional.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft