npm 包 @theia/languages 使用教程

阅读时长 11 分钟读完

简介

@theia/languages 是一个可以用于 Web 编程 IDE 的 npm 包,它能够帮助你完成一些重要的语言功能,例如:

  • 代码高亮
  • 智能感知
  • 悬停提示
  • 跳转至定义处
  • 代码格式化

如果你正在寻找实现这些语言功能的方法,那么 @theia/languages 是一条不错的途径。

安装

首先,我们需要通过 npm 安装 @theia/languages。在终端中输入以下命令:

配置

在你启动应用程序之前,我们需要配置一些东西。将以下代码复制到你的 package.json 文件中:

-- -------------------- ---- -------
-
  -------- -
    ------------ -
      -
        ------------ ----------
        ---------------- -
          --------------------------------- -
            ---------- ----- -----------------------------------------------------------------
          -
        -
      -
    -
  -
-

这段代码执行的操作是:

  • 配置 @theia/languages 扩展菜单用于支持文件扩展名为 .js 的 JavaScript 文件。
  • 显式告诉 @theia/languages 使用本地 htmlServerMain.js,它将由 node.js 运行。

用例

下面是一个@theia/languages 使用示例:

-- -------------------- ---- -------
------ - -- ------ ---- ----------------
------ - --------- - ---- --------------------------
------ - -------------- - ---- -------------------------------
------ - --------------------------- - ---- ------------------------------------------------------
------ ---------------------
------ ------------------------------------------------------
------ -------------------------------------------------------------
------ ------------------------------------------------------

----- -------------------- - ----- -- -- -
    ----- ---------- - --- -----------------------------
        ---- --- ---------------- ------------------------------------------------- -----
    ---
    ----- -- - -------------------------------------------
    ----- ------ - ----- -------------------------------------------
    ----- ------ - ----- ---------------------------- -
        -
            --- -----------
            -- ------------------------ -------------------------------------
            ----- -- -- -------------------------
        -
    ---
    ----- - - --------------------------------
    --- ------ -- -- --------------- -
        -- --- --- ------ -- -- --- ----------- -
            ---------
        -
        ----- ----- - ------
        -------------------------------------- -
            ------------- - ------------- - ------ - -------------------- ---- - - -
        ---
        ----------------------------------- -
            -------- ---------- ------------------------- ----- ---- -- -
                ------------------------------
            -
        ---
        -------------------------------- -
            --------- -- -- -
                ------ -
                    --- ------ ------- -------- --------- ------ -- ---- ----- ------- -- -
                        --------------------- -------- ------- ------- ---------
                    -
                --
            --
            --------------- ----- ----------- ------ -------------- -------- ----------------------------------- -- -
                -- ------------------------ ----------
                --------------------------- ------------------------------------- -------------
                ------ --------------------
            --
            ------------------ ------------ ---------------------------- -- -
                -- ------------------------ ----------
                ------------------------------ ----------------
                ------ ----------------------------
            -
        ---
    -

    ----- -------- - ----- --------------------
    --------------------------- --- ------- ---
    ------------------------ -- -
        ----- ---------- - -
            --- -----------
            ----- ---------------- -----------------
            ----------- ----------------- -- -------------------
            -------- ----------------
            ---------- ------------------
            --------- -------
        --
        -------------------------------------------------------------- ------------------
        ----------------------------------------------------- ------------------
        ---------------------------------------------------------- ------------------
        --------------------------------------------------------- ------------------
        ---------------------------------------------------------------------- ------------------
        --------------------------------------------------------------------------- ------------------
        -------------------------------------------------------------------- ------------------
        -------------------------------------------------------------- ------------------
        ---------------------------------------------------------- ------------------
        -------------------------------------------------------- ------------------
        ----------------------------------------------------- ------------------
        ------------------------------------------------------------ ------------------
        -------------------------------------------------------------- ------------------
        --------------------------------------------------------------- ------------------
        ------------------------------------------------------------- ------------------
    ---

    ------ ---------
--

------------------------------------ -- -
    ----- ------------ - -------------------
    ----- ------ - -------------------------------------------------------- -
        ------ ---
        --------- ------------
    ---

    -------- -------------------------- ------------------------------------ ------- ------- -
        ----- ----- - ------------------------------
        -------------------- - -----------
        ------------------ - ----------
        ----------------- - ----------
        --------------- - -------
        ------------------------------------------------
        ----- - --- - - ------------------------------
        ------------------------------------------------
        ----- --------------- - ------------ - ----
        ----------------------------------------- - -----------------------
        ----------------
    -

    -------------------------------- -- -------------------------- ---------------
---

上述代码中使用了 Monaco-editor 来建立一个代码编辑器,并且我们使用 @theia/languages 构建了其中一些特定于语言的服务。

结论

上述教程是完整的,向您展示了如何配置和使用 @theia/languages,该包为您的 Web IDE 提供了强大的语言支持。希望以上内容能够对您有所帮助。如果有任何问题或反馈,请在下方评论区留言,我们将尽力回复您。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/theia-languages