Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

315
Views
¿Cómo poner el cursor en la línea especificada en la extensión del editor vscode programáticamente?

Estoy trabajando en la extensión vscode TextEditorEdit. Aquí necesito colocar el cursor en un número de línea específico después de abrir el archivo como editor, según el contenido de respuesta de una API. ¿Cómo puedo lograr eso? o ¿qué clase o interfaz proporciona la funcionalidad para hacer esto?

A continuación se muestran los códigos que traté de lograr esto. pero ambos no funcionaron. Ni siquiera planteando ninguna excepción o error.

Aunque esto es abrir y mostrar el archivo en el editor correctamente. Pero no hace ningún efecto cuando intento cambiar la posición del cursor.

  1. ENTONCES, activando vscode.window.showTextDocument() y asignando el editor.selection con una selección personalizada. Esto no tiene ningún efecto en el editor.
 vscode.workspace.openTextDocument(openPath).then(async doc => { let pos1 = new vscode.Position(57, 40) let pos2 = new vscode.Position(57, 42) let sel = new vscode.Selection(pos1,pos2) let rng = new vscode.Range(pos1, pos2) vscode.window.showTextDocument(doc, vscode.ViewColumn.One).then((editor: vscode.TextEditor) => { editor.selection = sel //editor.revealRange(rng, vscode.TextEditorRevealType.InCenter) }); });

También intenté revelar el rango con editor.revealRange(rng, vscode.TextEditorRevealType.InCenter) pero tampoco tuvo efecto.

  1. ¿Agregando las options?: parámetro en vscode.window.showTextDocument() . Pero esto tampoco hace nada. Por favor vea el siguiente código-
 vscode.workspace.openTextDocument(openPath).then(async doc => { let pos1 = new vscode.Position(57, 40) let pos2 = new vscode.Position(57, 42) let rng = new vscode.Range(pos1, pos2) vscode.window.showTextDocument(doc, {selection: rng, viewColumn: vscode.ViewColumn.One}) });

Supongo que el problema es abrir primero el archivo y mostrar el documento de texto en el editor, y luego cambiar la ubicación del cursor.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede usar el comando integrado cursorMove de VSCode:

 let openPath = URI.file(mainPath); vscode.workspace.openTextDocument(openPath).then(async (doc) => { let line = 56; let char = 10; let pos1 = new vscode.Position(0, 0); let pos2 = new vscode.Position(0, 0); let sel = new vscode.Selection(pos1, pos2); vscode.window.showTextDocument(doc, vscode.ViewColumn.One).then((e) => { e.selection = sel; vscode.commands .executeCommand("cursorMove", { to: "down", by: "line", value: line, }) .then(() => vscode.commands.executeCommand("cursorMove", { to: "right", by: "character", value: char, }) ); }); });

Este fragmento primero abre el documento y lo muestra en el editor, luego mueve el cursor la cantidad de línea dada y luego lo mueve la cantidad de caracteres dada.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!