1

我搜索了 StackOverflow 和网络的其余部分,但找不到任何这些问题的答案。

我的问题是——Eclipse 或 Netbeans 可以运行“内联”代码吗?基本上,如果我在 PostgreSQL 中编写代码,我可以使用某种符号来指示下一段代码将是 PHP,然后使用某种结束符号来指示 PHP 的结束,剩下的的代码将是 PostgreSQL?Perl 或其他语言也可以“嵌入”到这样的代码中吗?这仅适用于“脚本”或“标记”语言吗?如果你运行这段代码,它会成功编译 postgreSQL 和 PHP 代码吗?这可以通过 Windows 系统上的 IDE 运行吗?如果有人可以提供有关其中任何内容的链接或屏幕截图,将不胜感激。

类似地,Netbeans 或 Eclipse 是否具有 PostgreSQL 的本机语法检查或自动完成功能?或者这些东西的唯一选择是 Toadext 插件?

非常感谢!

4

1 回答 1

1

不会。内联语言功能特定于特定语言,与您的 IDE 无关。

例如,PHP 支持 HTML 和 JavaScript 的内联块,因为 PHP 解释器和语言是为处理这些而编写的。同样,PostgreSQL 的过程语言在其$$ $$引用的块中接受各种语言,因为它们被明确设计为:$$无论如何,带引号的块只是字符串文字的特殊情况。

有了适当的支持,NetBeans 可能会$$在 PostgreSQL SQL 代码中的引用过程块中识别和检查 PL/PHP。不过,我怀疑是否有人实现了这样的功能,据我所知, NetBeans 不支持任何类型的“魔术注释”,您可以使用它来告诉它块使用的语言。

内联代码块不是泛化所有语言的概念。您通常需要将不同语言的代码保存在不同的文件中,或者将其中一种作为字符串文字包含在另一种中。这对于将 SQL 嵌入另一种语言的情况非常常见,您通常将 SQL 代码保存在字符串文字中:

String someSQL = "SELECT ...."

当然,NetBeans 将其视为字符串,而不是 SQL,因此它通常不会为您进行类型检查。怎么可能?它不知道这是否是一个完整的 SQL 语句,是您打算使用字符串连接与其他片段粘合在一起的片段,还是恰好看起来像 SQL 的东西。

在某些情况下,Eclipse 可以在 Java 代码中执行一些 SQL 语法检查,但通常您需要自己做。如果您想要对 SQL 进行语法检查和突出显示,请将其保存在与主代码不同的文件中。

于 2012-08-20T23:37:30.600 回答