对于Perl移植项目,我使用的是ActiveState的Komodo IDE 5.1
出于外部原因,xyz.pm模块驻留在不同的目录树中.通过在debu/run对话框的"environemt"选项卡下添加PERL5LIB = <>,我可以显示Komodo/Perl如何运行脚本.
不幸的是,语法检查似乎没有评估这些指令,并且IDE声称有一个致命的"无法找到xyz.pm"错误,尽管脚本运行正常.
解决此问题的一种方法是使用<Edit> <Preferences> <Languages> <Perl>下的"Additional Perl Import Directories"添加模块路径,但这是一个全局指令,而不是特定于项目的,这会导致各种模块名称冲突时的有趣问题.
那么,我如何配置Komodo IDE来存储"附加Perl导入目录"[语法检查的@INC路径]与项目?
编辑:建议添加使用lib qw'../ lib'的方法; 可能会有所帮助,如果我只能在IDE中执行它.但是,此代码不得出现在生产环境中,启动脚本会正确设置环境.
我一直在用我最近编写的C程序试用Splint,并尝试理解并删除它给出的警告.我理解但无法理解如何删除它来自以下代码片段:
static MyType_t *findById(const int id)
{
int i;
for (i = 0; i < MY_ARR_SIZE; i++) {
if (my_arr[i].id == NOT_SET) {
/* Items are sorted so that items with
NOT_SET as ID are at the end of the array */
break;
}
if (my_arr[i].id == id) {
return &(my_arr[i]);
}
}
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
Splint不满意该函数可以返回NULL,但在这种情况下它很有意义.
我尝试使用/ @ nullwhenfalse @ /但它似乎只有在函数返回true/false时才会起作用,并且还试图将代码更改为使用retVal并且在前面尝试了两个/ @ null @ /和/ @ relnull @ /宣言,但这些都没有做到.
(就像一个侧面说明,该表只有20个大的atm,所以使用聪明的搜索算法没有意义.)
在文本模式控制台Emacs会话中运行Flymake模式,如何告诉Flymake 在文本控制台中显示其消息而不是尝试与X通信?
Emacs 23运行在各种环境中,包括Debian和Ubuntu.
我已经flymake-gui-warnings-enabled开始了nil,但当我flymake-display-err-menu-for-current-line抱怨时:
X windows are not in use or not initialized
Run Code Online (Sandbox Code Playgroud)
对,我知道; Emacs在没有X的情况下运行SSH连接.这就是我禁用Flymake使用GUI的原因.我如何告诉Flymake 不要尝试使用GUI,而是说出它在Emacs窗口中要说些什么?
我正在为Web应用程序编写一个接口,该接口要求用户在JavaScript文本区域中编写一小块Java.我想知道是否存在一个用JavaScript编写的编辑器可以进行Java语法检查?谷歌搜索产生JavaScript编辑器,但没有用JavaScript编写的Java编辑器.(当然,我只看了5页深)
我正在寻找用于执行PHP代码的健全性检查的应用程序或方法.我希望避免以困难的方式找出编码错误,而是在发布网站之前找到它们.
display_errors = on和类似的运行时方法发现问题为时已晚.
到目前为止,我已经找到了以下方法,我认为这些方法不够彻底:
有什么更好的方法可以及早发现PHP代码中的问题?
我正在尝试编写一个函数来检查尾随空格,但不删除空格。但我不知道该怎么做。有人可以教我吗?
谢谢
我想要做:
$str = "<? echo 'abcd'; ?>";
if (is_valid_php($str)){
echo "{$str} is valid";
} else {
echo "{$str} is not valid PHP code";
}
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来is_valid_php检查?
我能找到的只是在线php语法检查程序和命令行方法来检查语法,或者php_check_syntax只适用于文件,我不想写入文件来检查字符串是否有效.
我宁愿不使用system()/ exec()或eval()
相关问题 - 它已经过时了,所以我希望有新的东西
其他相关问题 - 不再支持所有选项(据我所知)或使用命令行或必须检查文件(不是字符串)
我不需要一个完整的编译器或任何东西.我只需要知道字符串是否是有效的PHP代码.
编辑:通过有效的PHP代码,我的意思是它可以执行,没有编译器/语法错误,并且应该只包含PHP代码.它可能有运行时错误,仍然有效,如$y = 33/0;.并且它应该只包含PHP ...例如,<div>stuff</div><? echo "str"; ?>将无效,但是<? echo "str"; ?>并且echo "$str";有效
正如标题所说,有没有更好的方法来检查Python源语法错误而不使用外部模块?
我的意思是,从更多的Pythonic风格或更高效的方式.
def CheckSyntax(source, raw = False):
lines = source.count("\n")
source += "\nThis is a SyntaxError" # add a syntax error to source, it shouldn't be executed at all
try:
exec source in {}, {}
except SyntaxError, e:
if e.lineno != lines + 2:
if raw:
return e
else:
return e.lineno, e.offset, e.text
Run Code Online (Sandbox Code Playgroud)
编辑:理想情况下,它的性能足以进行实时语法检查.
php ×2
python ×2
c ×1
editor ×1
emacs ×1
flymake ×1
java ×1
javascript ×1
komodo ×1
perl ×1
sanity-check ×1
splint ×1
string ×1
syntax-error ×1
terminal ×1
whitespace ×1