izhangzhihao / intellij-rainbow-brackets

🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio/Fleet
https://plugins.jetbrains.com/plugin/10080-rainbow-brackets
GNU General Public License v3.0
4.43k stars 213 forks source link

[WEB-24371][WEB-61625] Highlight class attributes in Typescript #2771

Open absantanna2412 opened 2 weeks ago

absantanna2412 commented 2 weeks ago

Have you checked the issues and discussions to ensure there are no duplicates?

Yes

Your programming languages

Typescript

Free or paid?

Paid users

Expected Behavior

The class atributes are colorized when declared, but when use we must add this in front of the attribute Rainbow brackets should recognize and use the same color. The same should be used for constructor injected variables, when we use it we must also insert this.

And Rainbow brackets are using repeated colors in attributes and injected services variables.

image

Code snippet for test

export class ReciboComponent implements OnInit {
  loading = false;
  clientesRelatorio: ClientesRelatorio;
  filtro: ClienteRelatorioFiltro;
  processos = [];
  processoFiltro = new ProcessoFiltro();
  cliente: Cliente;
  usuarioCliente: boolean;

  constructor(private breadcrumbService: BreadcrumbService,
              private service: RelatoriosService,
              private processoService: ProcessoService,
              private msgs: MensagensService,
              private auth: AuthService) { this.breadcrumbService.setItems([{label: 'Recibo Autor'}]); }

  ngOnInit() {
    this.filtro = this.service.filtro;
    this.clientesRelatorio = this.service.clientes;
    this.carregarProcessos();

    if (this.auth.hasCliente()) {
      this.usuarioCliente = true;
      this.cliente = this.auth.getCliente();
    } else {
      this.usuarioCliente = false;
    }
  }

  pesquisar() {
    this.loading = true;

    if (this.usuarioCliente) {
          this.filtro.cliente = this.cliente.id;
    } else {
          if (this.cliente !== undefined) {
              this.filtro.cliente = this.cliente.id;
          }
    }

    this.service.filter()
        .catch((error) => (this.msgs.exibirErroServidor(error)))
        .finally(() => (this.loading = false));
  }
}

Your Environment

IntelliJ IDEA 2024.2.1 (Ultimate Edition) Build #IU-242.21829.142, built on August 28, 2024 Licensed to Alexandre Sant'Anna Subscription is active until September 23, 2024. Runtime version: 21.0.3+13-b509.11 amd64 (JCEF 122.1.9) VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Toolkit: sun.awt.windows.WToolkit Windows 11.0 GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation Memory: 4076M Cores: 12 Registry: debugger.new.tool.window.layout=true ide.experimental.ui=true i18n.locale= scala.erase.compiler.process.jdk.once=false editor.minimap.enabled=true Non-Bundled Plugins: PythonCore (242.21829.142) com.intellij.ideolog (242.21829.162) com.crunch42.openapi (1.91) com.haulmont.jpab (242.21829.3) String Manipulation (9.14.1) dev.meanmail.plugin.nginx-intellij-plugin (2024.3) com.intellij.properties.bundle.editor (242.20224.155) com.intellij.spring.websocket (242.20224.159) com.tabnine.TabNine (1.126.0) com.jetbrains.packagesearch.intellij-plugin (242.0.12) com.intellij.javaee.webSocket (242.20224.159) Pythonid (242.21829.142) com.samdark.intellij-visual-studio-code-dark-plus (2.9.0) com.intellij.plugin.adernov.powershell (2.7.0) com.intellij.spring.batch (242.20224.159) ru.adelf.idea.dotenv (2024.2.1) org.jetbrains.plugins.github (242.21829.162) com.intellij.javaee.batch (242.20224.159) com.intellij.bigdatatools.core (242.21829.142) com.intellij.bigdatatools.binary.files (242.20224.159) com.intellij.bigdatatools.rfs (242.21829.142) com.intellij.bigdatatools.metastore.core (242.20224.159) com.intellij.bigdatatools.flink (242.20224.159) com.intellij.jdbi (242.20224.159) tv.twelvetone.intellij.plugins.intellivue (1.2.14) com.intellij.jsf (242.20224.159) com.mallowigi (97.0.0) mobi.hsz.idea.gitignore (4.5.3) org.intellij.scala (2024.2.25) com.intellij.bigdatatools.kafka (242.20224.159) cn.yiiguxing.plugin.translate (3.6.4) izhangzhihao.rainbow.brackets (2024.2.6-241) com.intellij.bigdatatools.spark (242.20224.159) com.intellij.bigdatatools.zeppelin (242.20224.159) Kotlin: 242.21829.142-IJ

izhangzhihao commented 2 weeks ago

Temporary interaction limits enabled because Phishing Attempt via Issue Comments, don't believe anything from github comments for now. #2772

izhangzhihao commented 2 weeks ago

This is an issue that was created more than 1 year, sadly JetBrains does nothing to fix it. Related to the previous issue #2642

https://youtrack.jetbrains.com/issue/WEB-61625/Semantic-Highlighting-not-correctly-identifying-Typescript-Class-variables-and-Dependency-Injection-variables-inside-methods