小编avi*_*iit的帖子

当用户右键单击资源管理器/上下文中的文件时,如何在 vscode 扩展名中获取文件名或路径?

我的扩展在资源管理器树中创建了一个上下文菜单:

"contributes": {
        "commands": [
            ...
            {
                "command": "myextension.mycommand",
                "title": "Run my command"
            }
        ],
        "menus": {
            "explorer/context": [{
                "when": "resourceLangId == python",
                "command": "myextension.mycommand",
                "group": "MyGroup"
          }]
        }
    }
Run Code Online (Sandbox Code Playgroud)

extension.ts

export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(vscode.commands.registerCommand('myextension.mycommand', () => {
    //How to get the filename or file path here?
}));
Run Code Online (Sandbox Code Playgroud)

我想获取我在运行命令时右键单击上下文菜单的文件的文件名或文件路径。你能告诉我怎么做吗?非常感谢!

visual-studio-code vscode-extensions

8
推荐指数
1
解决办法
3276
查看次数

QMessageLogContext的字段(如:file,function,line)为空或零

我有2台机器Debian 7.8 64/32位.我创建了一个简单的程序.在main.cpp中:

void action(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
    static QFile logFile("logfile.log");
    static QTextStream ts(&logFile);
    if(logFile.open(QFile::ReadWrite | QFile::Append))
    {
      ts << context.file << ":" << context.line << ":"
         << context.function << ": " << msg << endl;
      logFile.close();
    }
}

int main(int argc, char* argv[])
{
    QCoreApplication app(argc, argv);
    qInstallMessageHandler(action);
    qDebug() << "this is some log";
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

在"logfile.log"中我必须看到:

main.cpp:30:int main(int, char**): this is some log 
Run Code Online (Sandbox Code Playgroud)

但在Debian 7.8 64位Qt 5.4.1 GCC 4.6.1 64位我只看到:

:0:: this …
Run Code Online (Sandbox Code Playgroud)

c++ qt gcc qt5.4

6
推荐指数
1
解决办法
1823
查看次数

我们可以在 Visual Studio Code 中扩展现有扩展吗?

我正在研究 Visual Studio Code 扩展。我想为 Visual Studio Codecode completeMicrosoft Python 扩展(IntelliSense)添加更多项目

我不知道怎么做 我只是想出一些解决方案:
1. 为现有的扩展编写一个新的扩展vscode-python来自定义code complete项目。
-> 我们可以为现有扩展编写扩展吗?
2. 编写一个新的扩展来适应 Visual Studio Code 编辑器与vscode-python. 在此,我将转发/自定义来自编辑器的请求vscode-python,然后在返回编辑器之前将我的项目自定义/插入到响应中。

我正在研究 VSCode 扩展,所以我不知道哪个解决方案是可以实现的。你能帮我还是给我一些关于另一种解决方案的提示。

python visual-studio-code vscode-extensions language-server-protocol

6
推荐指数
0
解决办法
211
查看次数

如何获取CPU使用率等Windows数据?

如何获取Windows数据,如CPU使用率,物理内存,网络利用率和带宽,类似于我在任务管理器中看到的内容?我正在使用C++.

c++ windows bandwidth

5
推荐指数
1
解决办法
6132
查看次数

在调试过程中如何查看 Qt 对象 QByteArray 的内容?

我的程序使用一些 QByteArray 类型的变量来包含数据(字节)。这些字节可能是特殊字符,如“\0”、1、...,所以在调试时我看不到特殊字符之后的所有元素。如果我使用 std::vector,我可以看到所有元素。我必须使用 QByteArray,但在调试时无法看到该变量的所有元素。请帮助我,请!谢谢!

示例:QByteArray bytes(4, '\0'); 现在,如果调试,我只会看到“”。但我想看到“'\0','\0','\0','\0'”或类似的东西。

我对 QDateTime 也有同样的问题。但我通过此帮助解决了:http://www.qtcentre.org/threads/32336-View-QDate-and-QDateTime-in-VisualStudio-debugger

此链接可能有帮助,但这不能解决我的问题:http://qt-project.org/wiki/IDE-debug-helpers

例子:

QByteArray ba("Hello"); //debuging, see: ba = "Hello"     
ba.append('\0');     
ba.append("a message"); //we just see: ba = "Hello"   
Run Code Online (Sandbox Code Playgroud)

c++ qt visual-studio-2010 visual-studio-debugging qbytearray

5
推荐指数
1
解决办法
9234
查看次数

嘲弄/捣乱`超级'电话

我想模拟super调用,特别是一些ES6类中的构造函数.例如

import Bar from 'bar';

class Foo extends Bar {
  constructor(opts) {
    ...
    super(opts);
  }

  someFunc() {
    super.someFunc('asdf');
  }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的测试中,我想做类似的事情

import Foo from '../lib/foo';
import Bar from 'bar';

describe('constructor', function() {
  it('should call super', function() {
    let opts = Symbol('opts');
    let constructorStub = sinon.stub(Bar, 'constructor');
    new Foo(opts);
    sinon.assert.calledWith(constructorStub, opts);
  });
})

describe('someFunc', function() {
  it('should call super', function() {
    let funcStub = sinon.stub(Bar, 'someFunc');
    let foo = new Foo(opts);
    foo.someFunc();
    sinon.assert.calledWith(funcStub, 'asdf');
  });
})    
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing mocha.js sinon ecmascript-6

5
推荐指数
1
解决办法
5185
查看次数

Qt,QUrl,QUrlQuery:在查询字符串中编码特殊字符

我创建了一个这样的URL查询:

QString normalize(QString text)    
{    
    text.replace("%", "%25");    
    text.replace("@", "%40");    
    text.replace("‘", "%27");    
    text.replace("&", "%26");    
    text.replace("“", "%22");    
    text.replace("’", "%27");    
    text.replace(",", "%2C");    
    text.replace(" ", "%20");    

    return text;    
}    
QString key = "usermail";
QString value = "aemail@gmail.com";    
QUrlQuery qurlqr;    
qurlqr.addQueryItem(normalize(key), normalize(value));

QString result = qurlqr.toString();
Run Code Online (Sandbox Code Playgroud)

期待的结果是:

usermail=aemail%40gmail.com. 
Run Code Online (Sandbox Code Playgroud)

但我收到了:

usermail=aemail@gmail.com
Run Code Online (Sandbox Code Playgroud)

我不知道为什么.你能帮助我吗?

(我在Win7上使用Qt5)

encoding qt urlencode urldecode query-string

4
推荐指数
1
解决办法
3861
查看次数

如何使用 QAudioOutput 和 QAudioDecoder 播放 mp3 文件?

我想使用 QAudioOutput 将音频文件播放到指定设备。.wav 文件没问题。但播放.mp3文件时却有嗡嗡声(据我所知,.mp3文件是压缩文件,所以QAudioOutput无法直接播放)。
我试图在使用 QAudioOutput 之前解码 .mp3 文件,但我不知道如何解码。
你能给我一个示例代码,以便我们可以使用 QAudioOutput 和 QAudioDecoder 播放 mp3 文件吗?

c++ audio mp3 qt5.6

4
推荐指数
1
解决办法
3242
查看次数

如何更改 QML 按钮 Qt Quick Controls 2 的背景颜色?

我只想更改 QML 按钮的背景颜色,但似乎没有简单的方法。你能告诉我一个简单的方法来改变 QML 按钮的背景颜色吗?谢谢!

更新:我搜索过的代码:

import QtQuick 2.6
import QtQuick.Controls 2.1

Button {
    id: control
    text: qsTr("Button")

    contentItem: Text {
        text: control.text
        font: control.font
        opacity: enabled ? 1.0 : 0.3
        color: control.down ? "#17a81a" : "#21be2b"
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
        elide: Text.ElideRight
    }

    background: Rectangle {
        implicitWidth: 100
        implicitHeight: 40
        opacity: enabled ? 1 : 0.3
        border.color: control.down ? "#17a81a" : "#21be2b"
        border.width: 1
        radius: 2
        color: "black"  // I update background color by this
    }
}
Run Code Online (Sandbox Code Playgroud)

qt qml qtquickcontrols2

3
推荐指数
2
解决办法
1万
查看次数

vscode 扩展可以为特定文件创建资源管理器上下文菜单吗?

我正在为 vscode 编写一个扩展。我只想在右键单击我的文件时显示上下文菜单(例如my_special_name_1.py:)。所以我把这个贡献点添加到package.json

"contributes": {
    ...,
    "commands": [
        {
            "command": "command.hello",
            "title": "Hello my file"
        },
        ...
    ],
    "menus": {
                "explorer/context": [
                    {
                        "when": "resourceLangId == python",
                        "command": "command.hello"
                    }
                ]
            },
    ...
}
Run Code Online (Sandbox Code Playgroud)

但这将在所有.py文件上显示我的命令“Hello my file”。如何让它只显示在我的文件上(例如:my_special_name_1.pymy_special_name_2.py、 ...)?谢谢!

visual-studio-code vscode-extensions

3
推荐指数
1
解决办法
2512
查看次数