ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP文件的不正确的sublime缩进

2019-05-22 22:17:20  阅读:337  来源: 互联网

标签:php editor indentation sublimetext2 sublimetext3


我一直在使用自定义快捷方式缩进在这篇文章Indent multiple lines in Sublime Text中引用的Sublime Text

但如果有奇数个空格,它就不起作用.就像我的标签大小设置为2个空格,并且当任何行的开头有3个空格时,它不会缩进剩余的代码.

例如:

<?php

function test_indent() {
  if (condition) {
   echo "here";
  }
   else {
    echo "else";
   }
}

当我用上面帖子中指定的自定义快捷方式缩进时,它是:

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

对我来说,结果如下:

function test_indent() {
  if (condition) {
   echo "here";
 }
 else {
  echo "else";
}
}

我需要做什么才能使其缩进?

解决方法:

在玩弄这个时,我发现如果你首先完全取消选择,那么reindent将按预期工作.似乎当缩进不是设置的“制表符大小”的倍数时,会发生reindent命令中的错误.

因此,我们可以通过将您的快捷方式更改为完全取消选择然后再次重新缩进来解决此错误.

从“工具”菜单中,选择“开发人员” – >新插件……

选择所有内容并将其替换为以下内容:

import sublime
import sublime_plugin
import re

class UnindentAndReindentCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        while any([sel for sel in self.view.sel() if re.search('^[ \t]+', self.view.substr(sel.cover(self.view.line(sel.begin()))), re.MULTILINE)]):
            self.view.run_command('unindent')
        self.view.run_command('reindent', { 'single_line': False })

保存它,在ST建议的位置,像fix_reindent.py这样的东西 – 文件扩展名很重要,但基本名称不是.

然后,更改您的键绑定以使用我们刚刚创建的新unindent_and_reindent命令:

{ "keys": ["ctrl+shift+f"], "command": "unindent_and_reindent" }

现在它将正确地重新启动您的代码.

标签:php,editor,indentation,sublimetext2,sublimetext3
来源: https://codeday.me/bug/20190522/1154454.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有