Ordner nicht angegeben与VSCode中的OmniPascal

Ian*_*oyd 6 omnipascal

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

在此输入图像描述

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"
}
Run Code Online (Sandbox Code Playgroud)

这个错误绝对来自OmniPascal,因为它是一个字符串

BIN\WIN\OmniPascalServer.exe

在此输入图像描述

我不是唯一能得到这个的人

匿名有同样的问题:

当我通过右键单击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]);
                    }
Run Code Online (Sandbox Code Playgroud)

有源代码吗?

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

真正的问题是如何获得,使用窗板,摆脱了模态对话框的.

Wos*_*osi 4

看起来 OmniPascal 是废弃软件

不,尽管过去几个月没有新的公开发布,但它绝对不是废弃软件。OmniPascal 仍在积极开发中。

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

此错误消息来自于OmniPascalServer.exe2016 年 4 月 14 日发布的(当前)版本 0.10.0 中随 VSCode 的 OmniPascal 插件一起提供的信息。

版本 < 0.11.0 的解决方法

据我所知,此错误消息仅在 Visual Studio Code 中打开文件而不是文件夹时出现。因此,最简单的解决方法是打开包含您要使用的文件的文件夹:

  • 通过命令行:类型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;
    
    Run Code Online (Sandbox Code Playgroud)

    用这些线

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

现在错误应该不再出现。