Ordner nicht angegeben与VSCode中的OmniPascal

时间:2016-10-04 21:27:20

标签: omnipascal

使用OmniPascal时,人们在Visual Studio Code中打开文件时出错:

enter image description here

  

Ordner nicht angegeben

转换为:

  

未指定文件夹

首先考虑确保用户 settings.json 中的路径:

  • objectpascal.delphiInstallationPath
  • objectpascal.objectpascal.searchPath

当然是一棵错误的树木:

settings.json

// Place your settings in this file to overwrite the default settings
{
    "objectpascal.delphiInstallationPath": "D:\\Programs\\Embarcadero\\Studio\\14.0",
    "objectpascal.searchPath": "D:\\Delphi Components"
}

错误肯定来自OmniPascal,因为它是

中的一个字符串
  

仓\赢\ OmniPascalServer.exe

enter image description here

我不是唯一一个得到这个

的人

Anonymous有同样的问题:

  

当我通过右键单击Windows资源管理器中的文件打开.pas文件时,文件会正确打开,但随后会显示一条消息对话框,其中包含“Ordner nicht angegeben”和“确定”按钮。

有没有办法调试代码?

我可以在VSCode中看到工作区根路径的变量:

objectPascalServiceClient.js

var config = vscode.workspace.getConfiguration('objectpascal');  
var delphiSDK = config.get('delphiInstallationPath', '');
var searchPath = config.get('searchPath', '');                                                                
var workspacePath = vscode.workspace.rootPath;
if (typeof delphiSDK == 'undefined')
   delphiSDK = "";
if (typeof searchPath == 'undefined')
   searchPath = "";                            

if (isWin) {
    childProcess = cp.spawn(path.join(__dirname, 'bin/win/OmniPascalServer.exe'), [workspacePath, delphiSDK, searchPath]);
                    }

有源代码吗?

看起来OmniPascal是放弃软件。是否有人可以尝试解密的源代码?

真正的问题是如何摆脱阻止使用窗口的模式对话框。

1 个答案:

答案 0 :(得分:4)

  

看起来OmniPascal是放弃软件

即使在过去几个月内没有新的公开发布,也不会放弃软件。 OmniPascal仍在积极开发中。

  

真正的问题是如何摆脱阻止使用窗口的模态对话框。

此错误消息来自2016年4月14日发布的(当前)版本0.10.0中的VSCode OmniPascal插件随附的OmniPascalServer.exe

版本的解决方法< 0.11.0

据我所知,只有在Visual Studio代码而不是文件夹中打开文件时才会显示此错误消息。因此,最简单的解决方法是打开包含您要使用的文件的文件夹:

  • 按命令行:输入code C:\Projects\MyProjectRootFolder
  • 使用Windows资源管理器:右键单击文件夹(或文件夹内的白色区域),然后选择使用代码打开不要选择.pas文件来打开VSCode!
  • 从VSCode :转到File -> Open Folder...

或应用修补程序

  • 打开文件C:\Users\USERNAME\.vscode\extensions\Wosi.omnipascal-0.10.0\objectPascalServiceClient.js
  • 替换此行

    var workspacePath = vscode.workspace.rootPath;
    

    这些行

    var workspacePath = vscode.workspace.rootPath;
    if (typeof workspacePath == 'undefined') {
        var filePath = vscode.workspace.textDocuments[0].fileName;
        workspacePath = path.dirname(filePath);
    } 
    

现在不再出现错误了。