我正在尝试使用VSCode的语言服务器开发扩展.我试图找出如何写文本来从扩展的语言 - 服务器部分记录.console.log什么都不产生
visual-studio-code vscode-extensions language-server-protocol
我必须使用更改的VCL单元编译我的项目.我使用的是Delphi XE8.我将Vcl.StdCtrls.pas从D:\ Program Files(x86)\ Embarcadero\Studio\16.0\source\vcl复制到我的.dpr文件所在的项目文件夹,然后我更改了我的Vcl.StdCtrls.pas副本.我还将此单元添加到项目树中.问题是,使用Delphi XE8这种重新编译VCL单元的方法不再有效.我在修改后的Vcl.StdCtrls.pas单元中添加了明显的语法错误.编译器不报告错误,这意味着它甚至没有检查文件.我总是做一个完整的构建Shift + F9.我发现了一个类似的问题如何从VCL重新编译特定单元?但就像我说的,它不再适用,不适用于Delphi XE8.
此外,修改后的单元位于.dpr文件中的使用列表中:
uses
Vcl.StdCtrls in 'D:\Dev\MYPROJECT\Vcl.StdCtrls.pas',
...
Run Code Online (Sandbox Code Playgroud)
//它没有用
似乎 log4j 试图通过 XML 解析器解析 .json 配置文件,但为什么呢?
我通过命令行参数设置 log4j 配置文件:
-Dlog4j.configurationFile=src/log4j2.json
Run Code Online (Sandbox Code Playgroud)
文件内容:
{
"configuration": {
"appenders": {
"Console": {
"name": "Console",
"target": "SYSTEM_OUT",
"PatternLayout": {
"pattern": "%date %thread %logger %message"
}
}
},
"loggers": {
"root": {
"level": "debug",
"appender-ref": {
"ref": "Console"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的:
[Fatal Error] log4j2.json:1:1: Content is not allowed in prolog.
ERROR StatusLogger Error parsing D:\Dev\HDelphiCrawler\src\log4j2.json org.xml.sax.SAXParseException; systemId: file:///D:/Dev/HDelphiCrawler/src/log4j2.json; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348) …Run Code Online (Sandbox Code Playgroud)