microsoft / microsoft/TypeScript
JSDoc property name is not parsed as expected when non-alphanumeric characters are present and intellisense not showing properties
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
TS Template added by @mjbvz
TypeScript Version: 3.8.0-dev.20200104
Search terms:
- jsdoc / jsdocs
- completionInfo
- VSCode Version: 1.41.1 (user setup)
- OS Version: Windows_NT x64 10.0.17134
Origin of this discovery:
I was trying to document my types which translate to XML classes. The syntax for which includes the "@class" as a property name of my object. This is not possible given the current syntax parsing in VSCode.
Steps to Reproduce:
- Place this code in the editor with the language as Javascript
Code:
/**
* @typedef Foo
* @property {string} bar Property shows in intellisense
* @property {string} @baz Property should show in intellisense but does not
* @property {string} test Property should show in intellisense but does not
* @property {string} @class Property name "@class" should be a possible property name that
* does not get interpreted as a JSDoc instruction.
* @property {string} even#ThisShouldBeAValidName! But the name is not parsed as expeted
*/
/**
* @type {Foo}
*/
const fooInstance = {
}
- Prompt the intellisense to show within the "fooInstance" object.
- Expected: The properties @ baz and @ class should be highlighted like normal property names
- Actual: The properties are shown as if they were JSDoc instructions
- Expected: The property "even#ThisShouldBeAValidName!" should be highlighted like a normal property name
- Actual: The property is highlighted as expected until the "#" symbol and then it seems to be treated like a comment
- Expected: Intellisense should show all the properties
- Actual: Only the first property "bar" is shown. An empty string "" is shown as if it were another property name.
- Expected: The properties @ baz and @ class should be highlighted like normal property names
Does this issue occur when all extensions are disabled?: Yes
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza reproduciendo el comportamiento de JSDoc typedef y completionInfo en el editor de JavaScript usando el ejemplo de código de este issue. Traza cómo se analizan los nombres de @property y cómo se generan las sugerencias; se considera terminado cuando se conservan los nombres que contienen @, # y ! y todas las propiedades enumeradas aparecen en IntelliSense.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, typescript
- Área
- compilers, devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100