【问题标题】:Autocomplete items added to autocomplete list does not show after saving the file添加到自动完成列表的自动完成项目在保存文件后不显示
【发布时间】:2019-12-21 23:05:56
【问题描述】:

This 示例在保存之前似乎可以正常工作。拥有“Untitled-1”可以正常工作,因为在将其保存到“test.py”之后,该项目似乎没有被添加到自动完成列表中。我已经在文件夹中多次运行“npm install”,但这似乎没有帮助。以下是不起作用的文件扩展名:

  • .ts
  • .c
  • .cpp
  • .js
  • .py
  • .sh

有效的扩展:

  • 无扩展名(未保存9
  • .txt

我正在运行这个: - Ubuntu 18.04.2 LTS - vscode 1.41.0

编辑:

我设法在我的 Windows 机器上重现了这个问题。复制说明:

  1. 克隆这个 Git
  2. 在完成样本文件夹中运行“npm install”
  3. 在 vscode 中打开 completions-sample 文件夹
  4. 选择“调试”下的“开始调试”以运行扩展程序
  5. 创建新文件,不要保存。
  6. 按 ctrl+shift+p 并选择“触发建议”。应该会弹出一个菜单,其中包含扩展代码中的项目,例如“Hello World!”。
  7. 通过保存为文件提供扩展名,例如“.py”。重复第 5 步,菜单将不包含任何自定义自动完成项。

我正在运行:

  • Windows 10
  • 全新安装 vscode 1.41.1

【问题讨论】:

    标签: typescript visual-studio-code


    【解决方案1】:

    我在官方 vscode repo 上寻求帮助。显然,您需要在添加自动完成项时更改语言标识符。它默认设置为“纯文本”,这意味着您的自动完成项目只会显示在纯文本文档中。

    let provider = vscode.languages.registerCompletionItemProvider('plaintext', {
    
        provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext) {
    
            // a simple completion item which inserts `Hello World!`
            const simpleCompletion = new vscode.CompletionItem('Hello World!');
    
            // return all completion items as array
            return [
                simpleCompletion
            ];
        }
    });
    

    如果我想让这些项目显示为 python,我可以在 this 链接上找到它的语言 ID,并将代码更改为:

    let provider = vscode.languages.registerCompletionItemProvider('python', {
    
        provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext) {
    
            // a simple completion item which inserts `Hello World!`
            const simpleCompletion = new vscode.CompletionItem('Hello World!');
    
            // return all completion items as array
            return [
                simpleCompletion
            ];
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 2012-03-10
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      相关资源
      最近更新 更多