最近,我在chrome控制台上收到以下消息;
WebSocket connection to 'ws://evo15:4008/?stream' failed: Unknown reason
Run Code Online (Sandbox Code Playgroud)
它变得越来越多,并且以某种方式令人讨厌,我必须每次打开一个新选项卡或重新启动chrome才能恢复正常的websocket连接。我该如何调试?不幸的是,我还不能复制它。我的Chrome版本是Version 77.0.3865.75 (Official Build) (64-bit)
更新1:我认为您可以通过从服务器端关闭连接很长时间(我不知道确切时间),然后打开它并尝试连接它(客户端尝试每1秒连接一次)来重现它。然后它将发生。所以我猜有一个过期时间或尝试连接某处的次数有限。
更新2:尝试256次重新连接后发生。
WebSocket connection to 'ws://evo15:4008/?stream' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)
在控制台上看到255错误后,您将看到第一个错误,并且无法重新连接。所以我认为我缺少某处的8位限制
我正在尝试通过按下“Tab”按钮来启用选项卡自动完成,但它对我不起作用,并且当它应该作为自动完成工作时,它总是作为 Tab 字符工作。我应该启用或禁用哪个设置或快捷方式才能拥有此功能?
按“Tab”,我会得到这个;
PS:按“Enter”工作正常并接受建议,我可以通过将以下设置设置为关闭来禁用它。
我对 VSCode 完全陌生,这是我的第一个设置。我知道这是一个非常常见的问题,但我找不到合适的解决方案。
这是我到目前为止的理解。如果我错了,请纠正我。
我想使用 ESLint 来查找 Javascript 代码中的错误,并使用 Prettier 来格式化所有语言。但似乎我们也可以使用 ESLint 格式化我们的 javascript 代码!我喜欢使用一些有用的规则,但 Prettier 似乎没有(括号中的空格)之类的规则。
所以我决定使用 ESLint 作为 Javascript 中的格式化程序。现在我看到网上有很多关于“如何将 ESLint 与 Prettier 集成”的教程。这个想法是使用插件扩展 Prettier 规则并向其中添加那些 ESLint 特定规则。合理的!
我最终得到了以下设置。请看下面我使用 ESLint 和 Prettier 的设置:
.eslintrc.js
module.exports = {
env: {
browser: true,
es6: true,
},
extends: ["prettier"],
globals: {
Atomics: "readonly",
SharedArrayBuffer: "readonly",
},
parserOptions: {
ecmaVersion: 2018,
sourceType: "module",
},
plugins: [
"prettier"
],
"rules": {
"space-in-parens": ["error", "always"],
"quotes": ["error", "single"],
"prettier/prettier": "error"
}
};
Run Code Online (Sandbox Code Playgroud)
VSCode 的 …
我Insecure origins treated as secure在 Chrome 中使用“”标志用于开发目的,并且我添加了一些网站,例如http://myWebsite:port. 它在 Chrome 中运行得很好。现在我需要在 Firefox 中使用相同的功能,但找不到它。在 Firefox 中可以这样做吗?
我在Windows 10中使用Visual Studio 2015(Update 3).我有一个由多个项目组成的解决方案.其中一个项目必须使用平台工具集Visual Studio 2013(v120)构建.不幸的是,它没有安装在我的机器上.我知道如何更改项目的平台工具集或重新定位解决方案,但我不想这样做.我想为Visual Studion 2015安装Visual Studio 2013平台工具集(v120).到目前为止,我发现的唯一方法是安装除2015版之外的整个Visual Studio 2013,这不是一个好的解决方案.
我已尝试过针对此问题的不同解决方案,例如单独安装v120构建工具并查看此链接.但它对我不起作用.除安装Visual Studio 2013之外的任何解决方案都是受欢迎的.
我正在使用 Visual Studio 2017,我有一个解决方案,主要由几个 C++ 项目组成。现在我想添加一个现有的 C++ 项目,该项目使用 CMake 来构建我在 Visual Studio 中的解决方案,并将它与解决方案中的其他项目一起构建。有可能这样做吗?仅供参考,我可以在 Visual Studio 中单独构建 cmake 项目。
根据 MDN set Method for Map,在 javascript 中向地图添加键/值对的唯一方法是set方法。我想知道当我们添加带有方括号的键/值对时,映射的行为是什么,如下所示;
const testMap = new Map();
testMap.set( 1,"firstValue" );
testMap[2] = "secondValue";
console.log( testMap );
console.log( testMap[ 2 ] );
console.log( testMap[ '2' ] );
Run Code Online (Sandbox Code Playgroud)
看来我们可以同时拥有地图和物体!有人可以向我解释一下吗?我知道 Map 是一种对象,但这种行为可能会导致很多错误。有什么办法可以防止这种情况发生吗?顺便说一句,如果您添加带有方括号的键/值对,则无法使用get方法检索它。
我想创建像 Windows 一样的控制按钮(最小化、最大化和关闭)。
最终目标是创建类似 Microsoft Word 标题栏的东西。
我知道如何创建 wxButton,也知道如何为其设置图标。但是我不知道如何使用本机操作系统图标或主题。
wxButton* closeButton = new wxButton(this, wxID_ANY, "x"); // how to tell that be like OS close button!
Run Code Online (Sandbox Code Playgroud)
在 WinAPI 中,有一个名为DrawThemeBackground的函数,我可以使用它WP_CLOSEBUTTON,但我不知道 wxWidgets 中的等效函数是什么。
更新:在大家的帮助下,这是在 Windows 中绘制本机按钮的示例代码(不适用于其他操作系统)。不幸的是,结果不是我想要的。它看起来像 Win XP 图标。看来wxNativeRenderer 不能正常工作。有人知道修复这段代码吗?(是的,我添加了“wx.rc”资源文件,并且不使用任何清单)
// wxWidgets "Hello World" Program
// For compilers that support precompilation, includes "wx/wx.h".
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#include <wx/renderer.h>
#include <wx/artprov.h>
class MyApp: public wxApp
{
public:
virtual bool OnInit();
};
class MyFrame: public wxFrame …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 wxWidgets 扩展用 c++ 编写的应用程序以实现高 DPI 显示。我遵循官方链接中的指南。到目前为止,除了wxDC::GetTextExtent()函数的返回值之外,一切都工作正常。当我将窗口移动到具有不同 DPI 的显示器时,字体大小会缩放,但 wxDC 的返回值保持与以前相同。但是,如果我使用wxWindow::GetTextExtent(),它会返回正确的值!在文档中,它说所有 wxWidgets API 都使用逻辑像素,但看起来并非如此。
换句话说,如果您尝试在高 DPI 显示器的设备上下文 (dc) 上绘制“文本”,则绘制的文本会很小,因为 wxDC 测量的字体高度值很小(例如不缩放)。然而,wxWindow 绘制的所有其他文本都可以正确缩放。
这种行为是故意的吗?我应该怎么做才能获得正确的值?我正在使用 wxWidgets 3.1.5 和 Win 10。
另外还不清楚 wxWidgets 是使用设备独立像素(DIP)还是逻辑像素?
我有一个Linux项目,它的构建工具是CMake版本3.5.当我输入"cmake"时.在我的项目文件夹中的命令,cmake自动在我的项目文件夹中创建一个文件夹"CmakeFiles"和其他几个缓存文件.我想在我的项目文件夹中创建另一个名为"cache"的文件夹,并将所有cmake缓存文件放入其中.如何在"CMakeList.txt"文件中明确地执行此操作?我搜索堆栈和其他资源,但无法找到任何解决方案.仅供参考,在CLion IDE中,这非常简单.您可以更改缓存和构建文件路径,如下所示;
首先来看看下面的简单代码:
function mySecondFunction(objArray,setFunc)
{
for (let i = 0; i < objArray.length; i++)
{
objArray[i].info.setTop(72);
}
}
function myFunction()
{
let myObjArray = [];
for (let i = 0; i < 10; i++)
{
myObjArray.push({
info:{topVar:0,
bottomVar:0,
get top() {return this.topVar;},
get bottom() {return this.bottomVar;},
setTop: function(input) {this.topVar = input;},
setBottom: function(input) {this.bottomVar = input; }
}
});
}
mySecondFunction(myObjArray); // This works Fine
mySecondFunction(myObjArray,setTop); // I want something like this!!!
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我想将对象的方法传递给另一个函数.我知道很多可能的解决方案来避免这种情况,但我想知道它是否可能.