【问题标题】:Adding a user-defined language in Notepad++在 Notepad++ 中添加用户定义的语言
【发布时间】:2012-09-16 10:47:05
【问题描述】:

我正在尝试在 Notepad++ 中添加 Go 编程语言的语法插件。

这种用户定义语言有a repository。我下载并解压缩了 Go 文件,其中包含一个 README、一个 userDefinedLang_Go.xmlgo.xml

我尝试按照页面底部的说明进行操作,如下所示。由于我使用的是 Windows 7 (x64),因此我的 Notepad++ 目录是“C:\Program Files (x86)\Notepad++”。

之前没有安装用户定义语言,我还没有userDefinedLang.xml文件,所以我将userDefinedLang_Go.xml复制到根目录,然后重命名它以删除“_Go”,使其成为 userDefinedLang.xml

然后我将 go.xml 复制到 C:\Program Files (x86)\Notepad++\plugins\APIs\

这似乎是所有必要的步骤。但是,当我打开 Notepad++ 时,“Lang => User Defined”附近没有“Go”,并且 .go 文件上没有语法着色。尝试通过“View => User-Defined Dialogue => import”导入会出现“导入失败”错误。

我做错了什么?我正在使用全新安装的 Notepad++,版本为 6.1.8。

【问题讨论】:

  • 同样的问题,答案无法解决。
  • “导入”功能可能会尝试安装到您的普通用户帐户可能无法写入的安装文件夹中。您可以尝试以管理员身份启动 notepad++,然后导入。
  • 以 ANSI 编码保存 Go.xml 和其他 xml。我遇到了同样的“导入失败”问题。在 ANSI 中保存 xml 文件就可以了。
  • 为什么不用 vscode?​​span>

标签: go notepad++ user-defined


【解决方案1】:

我必须将我的userDefineLang.xml 文件放在我的AppData\Roaming 文件夹中:

C:\Users\[user]\AppData\Roaming\Notepad++

【讨论】:

【解决方案2】:

在 Windows 7 64 位上新安装 Notepad++ 6.4.5

从 Notepad++ 网站下载:

http://docs.notepad-plus-plus.org/index.php?title=User_Defined_Language_Files#G

将“go.xml”复制到C:\Program Files (x86)\Notepad++\plugins\APIs

默认安装没有任何用户定义的语言,因此您可以这样做:

  • 将“userDefineLang_Go.xml”复制到 C:\Users\\AppData\Roaming\Notepad++
  • 把文件名中的“_Go”去掉,改成“userDefineLang.xml”
  • 取消注释打开和关闭“NotepadPlus”标签。

(如果您已经有一个 userDefineLang.xml 则添加 _Go 文件中的内容。)

重启记事本++。

【讨论】:

  • 所以问题中描述的过程中唯一缺少的就是取消注释<NotepadPlus> 标签?指出这一点会很有帮助。
  • 我没有这个目录,只有App,Data,Other,XMLplugin。我把文件userDefineLang.xml放到了后者里面,没注释,但是没用。
  • 我应该提到我使用 Notepad++ 便携版并且我也尝试过Notepad++/App/Notepad++/plugins/APIs。有什么想法吗?
【解决方案3】:

经过一些修补后,我才让它在我的系统上运行。把它放在 userDefinedLang.xml 文件和 go.xml 文件的顶部:

<?xml version="1.0" encoding="Windows-1252" ?>

这应该可以解决问题(在重新打开 Notepad++ 之后)。

go.xml 应该在 plugins/APIs 文件夹中,而 userDefinedLang.xml 如你所说在 Notepad++ 的根目录下。

【讨论】:

  • 这似乎对我不起作用。我有可能有不同的编码号码吗?当您说在顶部时,您的意思是字面上的第一行,还是应该在 之后
  • 这是userDefinedLang(我不小心把它命名为userDefineLang)-pastebin.com/A4WA7bZc这是go.xml-pastebin.com/Cq0SL47g看看这些是否有效,记住,你需要关闭Notepad++然后重新打开它它可以工作。
  • @user1695784 对我来说,诀窍是在 Notepad++ 中打开 userDefineLang.xml 并将 放在开头,将 放在结尾。但是不要忘记将标签之间的内容缩进一步。 (选择介于两者之间的所有内容并按 Tab)。重启记事本并再次导入。
  • 这对我不起作用,它需要按照另一个答案中的描述放在“漫游”文件夹中。
【解决方案4】:

其他答案未讨论的内容:某些旧版本的 Notepad++似乎适用于这些答案中的任何一个。

在将 Notepad++ 升级到 6.4.2 版本之前,我尝试了几乎所有的解决方案。

xkcd 979

经过测试的 Notepad++ 版本:

  • 5.9 - 不工作 - 由namey 测试
  • 6.4.2 - 工作 - 由Elysian Fields 测试
  • 6.6.9 - 工作 - 由namey 测试

对于其他版本,您的里程可能会有所不同。

【讨论】:

  • @Kissaki 如果您愿意,我可以删除此答案。如果您认为它没有增加任何价值,请告诉我。我假设由于没有一个现有答案解决了我的问题(Notepad++ 版本太旧),这可能对其他人有益。如果你不这么认为,我会删除它!
  • 这可以说是有用的。随意保留它。如果它具体说明限制,它会更有用 - 它不适用于哪些版本。不确定它有多大用处,但不要以一条评论(我的,没有赞成票)作为已经删除它的基础。 :)
  • 对我很有用 - 我仍然坚持使用 5.9,但上述方法均无效。更新到最新版本(现在是 6.6.9)立即解决了。
  • @namey 太棒了!很高兴它对某人有帮助。没有太多关于这个的:)
【解决方案5】:

我分享了我为 Notepad++ 6.5 找到的解决方案,因为我遇到的问题与之前的消息相同。

  1. 如果未完成,请执行 go\misc\notepadplus\README (userDefineLang.xml,functionList.xml,APIs) 中说明的安装步骤。 当您在 Notepad++ 中没有 useDefineLang.xml 时,请使用 go\misc\notepadplus\useDefineLang.xml 中的文件创建一个,但不要忘记添加第一行 &lt;?xml version="1.0" encoding="Windows-1252" ?&gt; 并取消注释 NotepadPlus 部分以在开头添加 &lt;NotepadPlus&gt; 并在末尾添加 &lt;/NotepadPlus&gt;

  2. functionList.xml 中的更改:&lt;association ext=".go" id="go"/&gt; BY &lt;association userDefinedLangName="go" id="go"/&gt;

  3. 由于我在 Notepad++ 中默认没有任何 userDefineLang.xml 文件,因此我使用菜单 Language定义您的语言 → * 导入了此文件进口。 然后停止/启动 Notepad++。 检查 Go 是否在列表末尾的 Language 菜单中。 打开一个 .go 文件。如果颜色没有自动改变,点击进入 /Language 菜单

在那之后对我来说一切都很好(缩进、颜色、自动完成等)。

【讨论】:

  • 赞成只是因为它帮助我解决了 Notepad++ 每次关闭时删除 userDefineLang.xml 的问题。通过将 .vm 文件设置为 Velocity 语言,它似乎意识到它应该保留 XML 文件。
【解决方案6】:

我在 Notepad++ 中添加了 pl/sql 语言语法。语法 /language 在网络上。这是我如何让它工作的......

  1. 按照 David 的建议,使用记事本打开 XML 文件并在开头添加 &lt;?xml version="1.0" encoding="Windows-1252" ?&gt;。然后保存到userDefinedLang_plsql.xml
  2. 将文件粘贴到 Notepad++ 根目录中。
  3. 我也将它复制到C:\Program Files (x86)\Notepad++\plugins\APIs\,并导航到菜单语言用户定义,但它什么也没做。
  4. 然后,我转到菜单语言定义您的语言,然后从下拉列表中选择pl/sql,将其重命名,并将其保存在该对话框窗口中。

然后新语言出现在最后的语言对话框中。

【讨论】:

    【解决方案7】:

    userDefineLang 位于 C:\Users\username\AppData\Roaming\Notepad++\userDefineLang.xml。

    确保您的 Notepad++ 安装在“C:\Program Files(86)”下,而不是“C:\npp.#.#.#.bin”文件夹下。

    并从https://notepad-plus-plus.org/download 下载。或者干脆谷歌“下载记事本++”。

    在此处查看示例 Scala 语言 userDefineLang.xml 文件:https://github.com/nfang/scala-syntax-highlighter

    【讨论】:

      【解决方案8】:

      如果您之前没有定义任何用户语言,那么在将userDefinedLang_Go.xml 重命名为userDefinedLang.xml 后,还可以通过在原始内容周围添加标签&lt;NotepadPlus&gt;&lt;/NotepadPlus&gt; 来编辑文件的文本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-20
        • 1970-01-01
        • 2023-03-02
        • 2011-12-14
        • 2011-08-06
        相关资源
        最近更新 更多