Skip to content

Files

Latest commit

 

History

History
71 lines (57 loc) · 2.41 KB

VSCode_Setup.md

File metadata and controls

71 lines (57 loc) · 2.41 KB

Config afmt in VSCode

At the moment there is no dedicated plugin in VSCode for afmt, but we can usage the built-in tasks feature to invoke afmt from VSCode.

VSCode supports running tasks via tasks.json, which allows running shell commands on files.

To configure VSCode to run afmt against the currently opened file, follow these steps:

Define a Custom Task

  1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P on Mac).
  2. Search for and select "Tasks: Configure Task".
  3. Choose "Create tasks.json file from template".
  4. Select "Others".

Add the Task Configuration

In the tasks.json file, use this content below. Make sure the "command" section points to your afmt binary.

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Run afmt on current file",
            "type": "shell",
            "command": "~/afmt -w ${file}", // assume afmt binary is on the ~ path
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,           // Echo the command
                "reveal": "never",      // Do not show the terminal
                "focus": false,         // Do not focus on the terminal
                "panel": "dedicated",   // Use a dedicated terminal (optional)
                "clear": false          // Do not clear the terminal before execution
            },
            "background": true,         // Marks the task as running in the background
            "problemMatcher": [],
            "detail": "Runs afmt against the currently opened file"
        }
    ]
}

Run the Task

  1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P on Mac).
  2. Search for "Tasks: Run Task".
  3. Select "Run afmt on current file" (i.e. the name of the custom task you defined above).
  4. You should see that afmt formats the Apex file.
  5. If nothing happens, open a terminal and run the same to diagonize, such as run: > ~/afmt -w path/to/valid_apex_file.cls

Assign a Keybinding (Optional)

If you want to quickly trigger the task with a shortcut:

  1. Open the Command Palette and search for "Preferences: Open Keyboard Shortcuts".
  2. Search for workbench.action.tasks.runTask.
  3. Add a custom keybinding in keybindings.json:
{
    "key": "ctrl+alt+r", // Choose your preferred shortcut
    "command": "workbench.action.tasks.runTask",
    "args": "Run afmt on current file"
}