Mala autocompletación en SublimeText3 al presionar tabulación en la matriz de PHP

Estoy usando SublimeText3.

Cuando trabajo en una matriz en PHP , la autocompletación propuesta presionando Tab me molesta por completo.

Solo quiero agregar algunas tabulaciones, pero en cada momento presiono Tab , sublimetext me proponen:

array()
Create a PHP Array.

If a just press Tab again, he valid the proposition and write in the file .

He instalado estos complementos:

{
    "installed_packages":
    [
        "Alignment",
        "ApacheConf.tmLanguage",
        "BracketHighlighter",
        "Comment-Snippets",
        "Comments Aware Enter",
        "eZ Publish Syntax",
        "HTML5",
        "jQuery",
        "LESS",
        "SublimeCodeIntel",
        "sublimelint",
        "Symfony2 Snippets",
        "Theme - Soda",
        "Twig"
    ]
}

Si alguien sabe cómo desactivar esta mala proposición o corregirla?

Gracias.

0
También estoy muy molesto por esto. No tengo una mejor sugerencia que la que pueda ser, en lugar de tratar de deshacerme de esto (ya que eso parece casi imposible), sino más bien anular esta funcionalidad con algo diferente o más útil. No tengo ni idea de cómo o qué puede hacer eso, pero simplemente mirarlo desde un ángulo diferente si ayuda a evitar que esta cosa suceda. O posiblemente alguien podría explicar qué se supone que haga y quizás solo lo estoy usando mal.
agregado el autor solepixel, fuente
He tenido problemas con paquetes y autocompletar antes. Similar, pero no igual. No creo que tenga ninguno de los paquetes que tiene, pero terminé eliminando uno o dos hasta que desapareció. Como sabes cuáles tienes, puedes intentar eliminar uno o dos, ver si el problema persiste y repetir hasta que desaparezca. Además, es probable que obtenga mejores resultados de los foros sublimes , ya que se centran solo en este software y no toda la programación.
agregado el autor Jonathan Kuhn, fuente
No tengo una respuesta para usted, pero esto es causado por SublimeCodeIntel. Como notaste, es increíblemente frustrante.
agregado el autor John Blackbourn, fuente
Muy feliz de encontrar esto preguntado y respondido. Estoy teniendo un día lleno de matrices y desarrollando rápidamente la ira relacionada con la matriz/tabla. ¡Serenidad!
agregado el autor Tim Ogilvy, fuente

2 Respuestas

Just started using Sublime Text 3 and this issue has been bugging me for a couple weeks. Even with "auto_complete_commit_on_tab": false and "tab_completion": false, it persisted. I ended up looking in the Sublime Forums and finding this thread, which suggests you add this code to your Key Bindings:

{ "keys": ["tab"], "command": "insert", "args": {"characters": "\t"}, "context":
    [
        { "key": "auto_complete_visible" },
        { "key": "setting.tab_completion", "operator": "equal", "operand": false }
    ]
}

Básicamente, vuelve a asignar tu clave de tabulación para forzar una pestaña en lugar de permitir que el fragmento de autocompletar funcione.

0
agregado
Esta solución es útil, pero desactivará toda mi finalización automática, y solo quiero desactivar esta finalización automática específica, no todas.
agregado el autor kaal, fuente
¡Gracias, gracias, gracias! Esto me estaba volviendo loco. Se debe tener en cuenta que "tab_completion": false aún debe configurarse para que funcione.
agregado el autor Lukas, fuente

Actualización 01-29-14

En Github, alguien encontró una mejor solución que la que publiqué anteriormente. Nueva solución .

Abra su carpeta_paquetes/SublimeCodeIntel/codeintel2/tree_php.py y agregue una matriz a la información sobre herramientas ignore la matriz alrededor de la línea 140.

php_ignored_calltip_expressions = ("if", "elseif",
                                   "for", "foreach",
                                   "while",
                                   "switch",
                                   "array"
                                   )

Solución anterior

Encontré una solución temporal en github .

Comment out or delete line 100 & 101 in SublimeCodeIntel/codeintel2/tree_php.py

"array": "array()\n"
"Create a PHP array.",

A continuación, elimine la carpeta ~/.codeintel en su directorio de usuario en OS X, sin estar seguro de dónde vive esta memoria caché en Windows.

0
agregado
paradero es SublimeCodeIntel/codeintel2/tree_php.py? No puedo encontrarlo en ningún lado
agregado el autor Nicola, fuente
Gracias ! funciona bien para mi
agregado el autor kaal, fuente
Si usa OSX, puede probar ~/Library/Application Support/Sublime Text 3/Packages/SublimeCodeIntel/libs/codeintel2/tree_php.py
agregado el autor Jason McClellan, fuente
En Win7 encontré el archivo en SublimeCodeIntel/libs/codeintel2 /. Eliminé las líneas y eliminé .codeintel pero no lo solucionó.
agregado el autor Mihai Scurtu, fuente
@aaronbauman Lo tengo instalado a través del control de paquetes, el cambio anterior funcionará, solo requiere cambios generales cuando se produce una actualización. Es un dolor pero resuelve el problema, que creo que vale la pena el trabajo.
agregado el autor Matthew Nie, fuente
Estoy llorando de rodillas.
agregado el autor sepehr, fuente
En Sublime Text 3, los paquetes se instalan como binarios (a través de Package Control), por lo que esta solución no funciona.
agregado el autor aaronbauman, fuente
@MatthewNie gracias - eventualmente descubrí cómo descargar manualmente el origen del paquete e implementar este cambio. ¡Vaya error a los mantenedores para fusionar esta solicitud de extracción! github.com/SublimeCodeIntel/SublimeCodeIntel/pull/390
agregado el autor aaronbauman, fuente
PHP - Comunidad española
PHP - Comunidad española
6 de los participantes

En este grupo hablamos de PHP. Partner: es.switch-case.com