小编Phi*_*len的帖子

我可以更改 VSCode 图标吗?

我的计算机上安装了 Visual Studio Code 和 Visual Studio 2017。VSCode 曾经有一个橙色图标,这很棒,因为我可以轻松区分它们,但从我读到的内容来看,他们更改了它,因为人们不喜欢它看起来有点像 Sublime text。所以他们选择了蓝色,几乎与 VS2017 图标相同。

我是色盲,所以这造成了一个问题。显然 VS2017 更像是深蓝色/紫色,而 VSCode 是浅蓝色(同样,我也无法分辨)。看下图,右边是vscode,左边是vs2017。当然,在这个缩放级别,vscode 也有无穷大符号缺失的一面,但在 4K 显示器上几乎看不到它作为工具栏图标。

在此输入图像描述

如果可能的话,有人知道如何更改此图标吗?

icons visual-studio-code

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

Entity Framework Core 两个对象作为主键

我有一个用于管理朋友关系的模型。它看起来如下:

public class Relationship
{   
   [Required]
   public User User { get; set; }

   [Required]
   public User Friend { get; set; }

   [Required]
   public DateTimeOffset RelationshipInitializationDate { get; set; }
}    
Run Code Online (Sandbox Code Playgroud)

用户的 ID 将有多个记录,并且会有多个记录具有相同的 FriendID,因此将其中任何一个定义为键是不行的。我希望密钥是 User 和 Friend 之间的组合,但是当我这样定义它时:

modelBuilder.Entity<Relationship>().HasKey(r => new { r.User, r.Friend });
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,指出:

The property 'Relationship.User' is of type 'User' which is not supported by current database provider. Either change the property CLR type or ignore the property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework-core

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

有没有办法将 Python f-string 支持添加到 Visual Studio 2017?

在大部分时间使用 VSCode 之后,我将切换回使用 VS2017 进行大部分 Python 开发。在 VSCode 中,我能够很好地使用带有语法高亮和智能感知的 f 字符串。

在 VS2017 中,当我使用 f 字符串时,它只会显示为原始字符串而不突出显示。这在程序运行时有效,但对于调试和编写,它使事情变得更加痛苦。

有谁知道这是否可以添加到VS2017?两者都在运行 python 3.6,所以我认为不应该有问题。

为了澄清,我指的是这些:

f'Hello My Name Is { user.Name }'
Run Code Online (Sandbox Code Playgroud)

python ide visual-studio f-string

5
推荐指数
0
解决办法
655
查看次数

C++浮点数和字节数组的问题

我正在研究arduino(基于AVR平台),我有一个接收浮点数并将其写入EEPROM的方法.我必须将float转换为字节数组以与EEPROM交互.我有两个功能如下:

void WriteFloatToEEPROM(int address, float value) {
    union {
        byte byteVal[4];
        float floatVal;
    } data;

    data.floatVal = value;

    for (int i = 0; i < 4; i++) {
        EEPROM.update(address + i, data.byteVal[i]);
    }   
}

float ReadFloatFromEEPROM(int address) {
    union {
        byte byteVal[4];
        float floatVal;
    } data;

    for (int i = 0; i < 4; i++) {
        uint8_t readValue = EEPROM.read(address + i);

        data.byteVal[i] = readValue;        
    }

    return data.floatVal;
}
Run Code Online (Sandbox Code Playgroud)

当我打印出结果时,我得到以下几个例子:

Read value at address 50 for float read 0
Read …
Run Code Online (Sandbox Code Playgroud)

c++ avr unions

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

如何从指向指针数组的指针中删除对象?

我仍然不熟悉C ++中的手动销毁(来自具有垃圾回收功能的语言)。我的一门课有以下内容:

Input** Inputs;

初始化如下:

this->Inputs = new Input* [totalInputs];

并可以根据用户输入稍后在我的代码中重新分配,类似于:

this->Inputs[inputNumber] = new DigitalInput(params...)

问题在于,由于释放旧对象,在该位置重新分配对象时,它很容易发生内存泄漏。

重新分配旧对象后,删除旧对象的最佳方法是什么?

编辑:我忘了包括在Arduino代码库上运行的AVR微控制器上。

编辑2:之所以这样做,是因为允许用户将命令发送到将更改输入类型的单元(即:发送命令和this->Inputs[inputNumber] = new AnalogInput(params...)。这也是指向指针数组的指针)的原因。这是因为此对象的构造函数将根据totalInputs传入的参数生成该数组。这在一个共享库中使用,该共享库可在几个不同的单元上使用。

c++ pointers arduino destruction

0
推荐指数
1
解决办法
74
查看次数