Sublime Text 2 Code Formatting

后端 未结 4 514
醉梦人生
醉梦人生 2021-01-30 00:55

First let me say I come from a Microsoft background and Visual Studio is my bread and butter. It has a command (keybind is arbitrary) that auto-formats any code syntax

相关标签:
4条回答
  • 2021-01-30 01:17

    I can't speak for the 2nd or 3rd, but if you install Node first, Sublime-HTMLPrettify works pretty well. You have to setup your own key shortcut once it is installed. One thing I noticed on Windows, you may need to edit your path for Node in the %PATH% variable if it is already long (I think the limit is 1024 for the %PATH% variable, and anything after that is ignored.)

    There is a Windows bug, but in the issues there is a fix for it. You'll need to edit the HTMLPrettify.py file - https://github.com/victorporof/Sublime-HTMLPrettify/issues/12

    0 讨论(0)
  • 2021-01-30 01:17

    A similar option in Sublime Text is the built in Edit->Line->Reindent. You can put this code in Preferences -> Key Bindings User:

    { "keys": ["alt+shift+f"], "command": "reindent"} 
    

    I use alt+shift+f because I'm a Netbeans user.

    To format your code, select all by pressing ctrl+a and "your key combination". Excuse me for my bad english.


    Or if you don't want to select all before formatting, add an argument to the command instead:

    { "keys": ["alt+shift+f"], "command": "reindent", "args": {"single_line": false} }
    

    (as per comment by @Supr below)

    0 讨论(0)
  • 2021-01-30 01:38

    Sublime CodeFormatter has formatting support for PHP, JavaScript/JSON/JSONP, HTML, CSS, Python. Although I haven't used CodeFormatter for very long, I have been impressed with it's JS, HTML, and CSS "beautifying" capabilities. I haven't tried using it with PHP (I don't do any PHP development) or Python (which I have no experience with) but both languages have many options in the .sublime-settings file.

    One note however, the settings aren't very easy to find. On Windows you will need to go to your %AppData%\Roaming\Sublime Text #\Packages\CodeFormatter\CodeFormatter.sublime-settings. As I don't have a Mac I'm not sure where the settings file is on OS X.

    As for a shortcut key, I added this key binding to my "Key Bindings - User" file:

    {
        "keys": ["ctrl+k", "ctrl+d"],
        "command": "code_formatter"
    }
    

    I use Ctrl + K, Ctrl + D because that's what Visual Studio uses for formatting. You can change it, of course, just remember that what you choose might conflict with some other feature's keyboard shortcut.

    Update:

    It seems as if the developers of Sublime Text CodeFormatter have made it easier to access the .sublime-settings file. If you install CodeFormatter with the Package Control plugin, you can access the settings via the Preferences -> Package Settings -> CodeFormatter -> Settings - Default and override those settings using the Preferences -> Package Settings -> CodeFormatter -> Settings - User menu item.

    0 讨论(0)
  • 2021-01-30 01:45

    Maybe this answer is not quite what you're looking for, but it will fomat any language with the same keyboard shortcut. The solution are language specific keyboard shortcuts.

    For every language you want to format, you must find and download a plugin for that, for example a html formatter and a C# formatter. And then you map the command for every plugin to the same key, but with a differnt context (see the link).

    Greets

    0 讨论(0)
提交回复
热议问题