53

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

此类用户定义语言有一个存储库。我下载并解压缩了 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 版。

4

8 回答 8

55

我不得不把我的userDefineLang.xml文件放在我的文件AppData\Roaming夹中:

C:\Users\[user]\AppData\Roaming\Notepad++
于 2013-03-27T16:15:22.650 回答
17

在 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 文件中的内容。)

重新启动记事本++。

于 2013-08-16T23:09:28.837 回答
8

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

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

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

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

于 2012-09-24T23:18:57.417 回答
4

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

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

xkcd 979

测试记事本++版本:

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

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

于 2013-07-19T20:05:50.627 回答
3

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

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

  2. functionList.xml 中的更改:<association ext=".go" id="go"/>BY<association userDefinedLangName="go" id="go"/>

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

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

于 2013-11-29T05:16:30.153 回答
1

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

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

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

于 2017-11-24T05:49:41.487 回答
0

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

于 2016-02-23T04:52:42.517 回答
-1

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

于 2017-07-08T18:30:27.960 回答