microsoft / microsoft/TypeScript-Sublime-Plugin

Separate TS completion from Sublime completion

Abierto
#547 4 comentarios 3 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
JavaScript
Estrellas
1.7k
Forks
236
Merge medio
21 d 13 h
PR fusionados (30 d)
1

Descripción

I've been using Sublime/TextMate for many years, and am very accustomed to the way tab completion works in those editors. It will fuzzy search the symbol you're typing against every other symbol in the current document, and cycle through them when you hit <tab>.

For instance, consider that I have some symbol somewhere in the current document: arbitraryFunctionName. Here are some situations where I expect tab completion to work, but it doesn't:

importing

import afn<tab>
import arbitraryFunctionName from './afn<tab>

Commenting

/* This is some documentation for afn<tab>

Creating new objects

const something = {
  afn<tab>

In each of these cases, I'd expect hitting <tab> to replace afn with arbitraryFunctionName; however, when Sublime's syntax is set to TypeScript, it merely inserts spaces.

Is there a way to separate tab completion from TypeScript completion? Perhaps <tab> could work the same way Sublime does in other languages, but <return> could select the given option in TypeScript's suggestions menu, and <esc> could reject them. Or, perhaps TypeScript takes over <tab> and <esc> could adapt Sublime's default tab behavior. (<esc> is the key that TextMate used for this style of completion.)

Is there a way to differentiate between completion powered by TypeScript's language services and Sublime's default algorithm? If not, can there be?

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza rastreando cómo el manejo de la tecla Tab de Sublime se conecta con la completion de TypeScript language-service y cómo se gestionan actualmente Return y Escape. Compara el comportamiento solicitado para imports, comentarios y propiedades de objetos con el flujo de completion existente. Se considera terminado cuando los dos comportamientos de completion están separados, con resultados claramente definidos para Tab, Return y Escape.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, typescript
Área
tooling
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.