# @atlassianlabs/jql-autocomplete 中文文档

规范地址：https://npmcn.com/package/%40atlassianlabs/jql-autocomplete/

版本：1\.1\.1
npm 元数据更新时间：2026-06-24T07:25:57.199Z
中文译文更新时间：2026-11-07T03:15:17.190Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40atlassianlabs/jql-autocomplete
原文对照：https://npmcn.com/package/%40atlassianlabs/jql-autocomplete/?lang=original
项目主页：https://bitbucket.org/atlassian/atlassian-frontend#readme
源码仓库：https://bitbucket.org/atlassian/atlassian-frontend

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：226 kB，73 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：6 个
- 首次发布：2021-12-10T01:08:18.410Z
- 最新版本发布：2023-07-12T04:25:13.626Z
- 近 30 天下载量：5146（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

JQL 自动完成引擎

## 安装

```sh
npm install @atlassianlabs/jql-autocomplete
```

也可以使用：`pnpm add @atlassianlabs/jql-autocomplete`、`yarn add @atlassianlabs/jql-autocomplete`、`bun add @atlassianlabs/jql-autocomplete`

## README

# JQL 自动完成

[![Atlassian license](https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat-square)](https://npmcn.com/package/%40atlassianlabs/jql-autocomplete/LICENSE)

这个软件包允许消费者检索给定的JQL查询的自动完成建议. 页:1 自动完成杠杆 [蚂蚁4-c3](https://github.com/mike-lischke/antlr4-c3) 要提供的库 使用生成的 ANTRR4 代码补全选项 `@atlassianlabs/jql-parser`。参见 [蚂蚁4-c3](https://github.com/mike-lischke/antlr4-c3) 更深入地引入守则 完成 ANTRR4 语法.

## 使用量

简而言之,你会想建造一个新的 `JQLAutocomplete` 给定源对象 查询.

```typescript
import { JQLAutocomplete } from '@atlassianlabs/jql-autocomplete';

const autocomplete = JQLAutocomplete.fromText("assignee = currentUser()");
```

然后可以指定(零索引的)caret位置以检索建议,例如:

```typescript
// Caret positioned at "assignee = "
const selectionStart = 11;
const selectionStop = 11;
const suggestions = autocomplete.getJQLSuggestionsForCaretPosition([
  selectionStart,
  selectionStop,
]);

console.log(suggestions);
```

将输出以下响应:

```json
{
  "tokens": {
    "matchedText": "",
    "replacePosition": [11,11],
    "values": ["EMPTY"]
  },
  "rules": {
    "function": {
      "matchedText": "",
      "replacePosition": [11,11],
      "context": {
        "field": "assignee",
        "operator": "="
      }
    },
    "value": {
      "matchedText": "",
      "replacePosition": [11,11],
      "context": {
        "field": "assignee",
        "operator": "="
      }
    }
  }
}
```

包括收集 [符号](https://github.com/antlr/antlr4/blob/master/doc/lexer-rules.md#lexer-rules) 财务报告和审定财务报表 [规则](https://github.com/antlr/antlr4/blob/master/doc/parser-rules.md) 适用于 给予注意的位置。 规则对于从您手中获取不仅仅是关键词 自动完成.

如上例所示,可以使用:

-   一个 `EMPTY` 标志,例如:. `assignee = EMPTY`
-   A 类 `function` 规则,例如:. `assignee = currentUser()`
-   A 类 `value` 规则,例如:. `assignee = xxxxxxxxx`

通常,在遇到规则时,你会想用Jira的数据丰富这些信息. 这样做 你可以发挥杠杆 [Jira Cloud REST API的(英语:Jira Cloud rest API) 互联网电影数据库(IMDb)上"Jira Cloud REST"的资料(英文)](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jql/)。 。 。 .

## 安装

```sh
yarn add @atlassianlabs/jql-autocomplete
```

## 文档

### 微调

当构建自动完整对象时,您可以指定一个集合 `ignoredTokens` 财务报告和审定财务报表 `preferredRules`未提供时,自动完整引擎指定默认参数 适合大多数自动完成使用的案例。 您可以在 [蚂蚁4-c3 文档](https://github.com/mike-lischke/antlr4-c3#fine-tuning)。 。 。 .

我们还延长 `antlr4-c3` 带有新参数的配置选项, `delimiterTokens`。通过 默认 `JQLAutocomplete` 将会为护身符前的标志提供建议. 当护身符被放置在分界符上时,我们会寻找建议 **之后** 页:1 当前符号.

例如:

```typescript
import { JQLLexer, JQLParser } from '@atlassianlabs/jql-parser';
import { JQLAutocomplete } from '@atlassianlabs/jql-autocomplete';

const ignoredTokens = new Set([JQLLexer.NOT_EQUALS]); // Exclude != tokens from suggestions
const preferredRules = new Set([JQLParser.RULE_jqlField]) // Only show rule suggestions for fields
const delimiterTokens = new Set([JQLLexer.COMMA]) // Give suggestions for tokens AFTER commas

const autocomplete = JQLAutocomplete.fromText("assignee = currentUser()", ignoredTokens, preferredRules, delimiterTokens);
```

## 支助

对于在Atlassian以外的开发者寻求帮助或报告问题, [请在社区论坛发表文章](https://community.developer.atlassian.com/c/atlassian-ecosystem-design)。 。 。 . 我们将监测这些论坛,并重新将专题分配给适当的维护者.

## 许可证

版权(c) 2021-2022 阿特拉斯人等. Apache 2.0 许可证,见 [自由主义](https://npmcn.com/package/%40atlassianlabs/jql-autocomplete/LICENSE) 文档.

## 常见问题

### @atlassianlabs/jql-autocomplete 是什么？

JQL 自动完成引擎

### 如何安装 @atlassianlabs/jql-autocomplete？

在项目目录运行 npm install @atlassianlabs/jql-autocomplete，或使用 pnpm add / yarn add / bun add。

### @atlassianlabs/jql-autocomplete 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @atlassianlabs/jql-autocomplete 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @atlassianlabs/jql-autocomplete 可以商用吗？

@atlassianlabs/jql-autocomplete 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @atlassianlabs/jql-autocomplete 的下载量有多少？

根据 npm 官方下载统计，@atlassianlabs/jql-autocomplete 在 2026/10/07 – 2026/11/05 这 30 天内被下载 5,146 次，日均约 172 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @atlassianlabs/jql-autocomplete 还在维护吗？

最新版本 1\.1\.1 发布于 2023/07/12（3 年前）；至今共发布 5 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/12/10。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

