3

请记住,在 windows shell 中编译是有效的,所以这个问题作为 PATH 问题的可能性很小(如果不是零)。

我花了很多时间研究如何做到这一点,我在网上找到的所有结果都说你可以做到:

NPP_SAVE
javac $(FILE_NAME)
java $(NAME_PART)

但这对我不起作用。在 NPP_EXEC 控制台中,我可以键入 java,然后像从 cmd 中一样得到正常结果,但是每当我键入 javac 时,我都会得到可怕的错误代码 2 错误:

================ READY ================
javac
javac
CreateProcess() failed with error code 2:
The system cannot find the file specified.

================ READY ================

编辑

我必须澄清一些困惑:

  1. 此解决方案应在单个脚本中运行。目标是能够更改代码,按下热键组合(想想 Visual Studio 中的 F5),然后它会构建/编译并运行。
  2. iirc的实际问题是notepad ++由于某种原因无法识别javac。

对困惑感到抱歉...

4

5 回答 5

4

我已经通过使用这篇文章很容易地设置它,或者你也可以看到另一个非常简单和有用的博客文章。

现在来谈谈我们如何设置 N++ 和 NppExec 以便我们的程序由 N++ 单手运行。

先用Java Compile的名字保存这个脚本

NPP_SAVE

cd "$(CURRENT_DIRECTORY)" 
"C:\Program Files (x86)\Java\jdk1.7.0\bin\javac" $(FILE_NAME)

这里主要是你的java编译器的路径,就像我的例子一样,它在C目录中,很可能在你的目录中,但32位和64位操作系统之间仍然存在差异。

现在用另一个名字保存这个脚本,比如编译并运行

cd "$(CURRENT_DIRECTORY)" 
"C:\Program Files (x86)\Java\jdk1.7.0\bin\java" -classpath "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

现在将脚本添加到 N++ 中的宏中以从那里开始工作,

转到NppExec插件中的高级选项,

A:选中顶部的“放置到宏子菜单”框

B:从“Associated Script”组合框中选择脚本。它会自动填写“项目名称”

C:现在单击“添加/修改”按钮。

D:点击确定。这将退出高级选项框并说需要重新启动 NotePad++(在添加其他脚本之前不要重新启动它)。
我们必须单击确定,因为这是清除框以添加下一个脚本的最简单方法,否则可能会覆盖现有菜单选项。

E:重复这些步骤以添加其他脚本,然后重新启动它。

它现在完成了。

于 2013-10-14T05:55:26.973 回答
4

我的解决方案改编自 npp_exec 帮助文件(Plugins>Npp_Exec>Help/Manuals>Section 4.7.2)。这对我来说没有问题,并假设您的 JDK bin 路径已添加到 Windows 系统(或用户)环境变量“Path”。

NPP_SAVE
cd $(CURRENT_DIRECTORY)
javac $(FILE_NAME)
java $(NAME_PART)
于 2014-02-09T23:29:38.117 回答
1

经过 5 个多小时的谷歌搜索和反复试验,我终于有了一个可以在不离开 notepad++ 的情况下编译和运行 java 程序的 NPP Exec 脚本。

NPP_SAVE
cmd /K (javac "$(FULL_CURRENT_PATH)" && exit) || exit
cmd /K (cd /D "$(CURRENT_DIRECTORY)" && java $(NAME_PART) && exit) || exit

剩下的唯一事情就是找到一种方法来执行上述操作,而无需调用并将参数发送到 cmd,所有这些都在 notepad++ 和 nppexec 中。

如下面评论中所述,如果您使用的是包,则需要相应地编辑第二行。如果您的包名与文件名相同,则以下内容应该有效:

cmd /K (cd /D "$(CURRENT_DIRECTORY)" && java -cp .. $(NAME_PART).$(NAME_PART) && exit) || 出口

于 2014-01-31T02:07:11.113 回答
0

如果您正确设置PATH ,您的 origin 命令应该可以工作,您唯一需要做的就是选择NppExec - Follow $(CURRENT_DIRECTORY)选项,以便 npp 可以识别您的 .java 文件。

或者您也可以将$(FILE_NAME)更改为$(FULL_CURRENT_PATH)并将java $(NAME_PART)更改为:

cd $(CURRENT_DIRECTORY)

java "$(NAME_PART)"

于 2015-09-20T18:06:42.947 回答
0

NppExec 上的这个脚本适用于我的情况。确保您的路径与您在机器上安装的 Java 版本相匹配。

NPP_SAVE 
cd $(CURRENT_DIRECTORY) 
C:\ProgramFiles\Java\jdk1.8.0_66\bin\javac $(FILE_NAME) 
C:\ProgramFiles\Java\jdk1.8.0_66\bin\java $(NAME_PART)
于 2015-11-14T13:02:42.937 回答