Sublime Text - Json Formatter Shortcut

I'm using SublimeText2.

How to reindent Json code with a shortcut?

I've already installed packageControl and it works.

I already tried JsonReindent package but it has not a shortcut by default and i don't know its command name.

I already have this command (from my previous sublimetext2 on another pc, where it works fine):

// JSON reindent
{ "keys": ["ctrl+shift+j", "ctrl+shift+j"], "command": "json_reindent" },

But here it doesn't work.

10 Answers

I have come across this issue too. I tried to figure it out by install jsFormat as follows:

  1. Open Package Controll panel command+shift+p (mac), install package.
  2. Install jsFormat.
  3. Edit the shortcut for the jsformat:

  4. Choose Key-Binding user, then edit

    [
      {
        "keys": [
          "command+l"
        ],
        "command": "reindent"
      },
      {
        "keys": [
          "ctrl+shift+s"
        ],
        "command": "auto_save"
      }, 
      {
        "keys": [
          "ctrl+alt+f"
        ],
        "command": "js_format"
      }
    ]
    
  5. So next time when you try to format json code, just use ctrl+alt+f.

That's all.

Hope this will help you.

Cheers

3

Install this packages via CMD + SHIFT + P > Install package > Search for Pretty JSON and install.

And then turn ugly json via CMD + CTRL + J (OSX) CTRL + ALT + J (Windows/Linux) in pretty JSON!

Source is on GitHub. Credit

2

For sublime 4 below work for me on MAC OS:

Install "Pretty JSON" sublime 4 by refer below:

  • Use key combination Cmd + Shift + p and type Install Package
  • Select Package Control: Install Package from the search results
  • Type Pretty JSON and select it from the search results

OR use "Manual Installation" steps of below link


now for shortcut :

Click on Sublime -> Preferences -> Key Bindings

Here add the below json part inside existing json and save the file

{ "keys": [ "ctrl+shift+j" ], "command": "pretty_json" }

you can use cmd too instead of ctrl, set says as per your preference

Complete json will look like below:

[{
    "keys": [
      "command+l"
    ],
    "command": "reindent"
  },
  {
    "keys": [
      "ctrl+shift+s"
    ],
    "command": "auto_save"
  },
  {
    "keys": [
      "ctrl+shift+k"
    ],
    "command": "js_format"
  },
  {
    "keys": [
      "ctrl+shift+j"
    ],
    "command": "pretty_json"
  }
]

Now use below short key anytime to beautify json on sublime

ctrl+shift+j

You can also use command instead of ctrl

For Mac OS follow the steps:

Install Pretty JSON

  1. Use key combination Cmd + Shift + p and type Install Package
  2. Select Package Control: Install Package from the search results
  3. Type Pretty JSON and select it from the search results

Add Key Binding

  1. Open key bindings from Sublime Text > Preferences > Key Bindings

  2. Add following key short cut in key bindings

    { "keys": [ "command+shift+j" ], "command": "pretty_json" }

Use Pretty JSON

  1. Select JSON text and use key combination Cmd + Shift + j

If you look at the source, the name of the sublime_plugin.TextCommand subclass is SublimeJsonReindentCommand. Per the conventions for command names, the resulting command is named sublime_json_reindent. Simply change your key binding to:

{ "keys": ["ctrl+shift+j", "ctrl+shift+j"], "command": "sublime_json_reindent" },

and you should be all set.

5

You can use Command Palette to format a text

//Call Command Palette
Ctrl+Shift+P

//Format code instead of  CMD + CTRL + J (OSX)
pretty format
3

I am using Linux OS. I found the solution first installing the package controller then Pretty JSON package.

  1. Install the package controller for sublime here

  2. Install Pretty JSON packages via CMD + SHIFT + P > Install package > Search for Pretty JSON and install. Details are here.

If you looking for how to install:(It may helpful someone who try to install as I was)

First enable package installer:

ctrl+shift+p
type “install package control” hit enter

It will place “Package Control. sublime-package” into ~/Library/Application Support/Sublime Text 3/Installed Packages.

Once it has done it will ask you too enter the package name, In that input box please type

pretty json and hit enter

Finally , you can format json by using ctrl+shift+p

1

Open the Command Palette: Press Ctrl+Shift+P (Windows) or Cmd+Shift+P (OS X). Type 'install' in the Command Palette input box, which should autocomplete to 'Install Package Control'.

Then go to Sublime Text -> Preferences -> Package Control -> Type Package Control: Install Package in the pop up box which would open a separate pop up box and in that type the package you want to install in this case "Pretty JSON"

Turn ugly json to pretty JSON via CMD + CTRL + J (OS X)

2

Since version 4 it is available under the Selection -> Format -> JSON menu option.

3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article
Twitter Facebook Pinterest