小编Car*_*arl的帖子

如何更改全局 .vscode 文件夹的位置?

我正在 Linux 上设置 Visual Studio Code。

由于机器是共享的,我的$HOME文件夹的大小受到限制,我没有空间用于扩展(存储在 中$HOME/.vscode/),这使我无法安装它们。

我在其他开发目录上确实有足够的空间,但是我找不到告诉 Visual Studio Code 使用另一个路径而不是$HOME全局.vscode文件夹的方法。

有没有办法在不改变我的情况下做到这一点$HOME

编辑
虽然评论中的建议解决了将扩展安装在不同文件夹中的问题 -.cache我的$HOME文件夹中
有一个由 vscode 填充的巨大文件夹......有没有办法以某种方式更改到这个文件夹的路径?

visual-studio-code

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

C:字符串文字到int数组

我有一个函数,以int数组作为参数.该int数组表示一个字符串,但必须能够包含EOF,因此不能是类型char[].我的函数看起来像这样:

_Bool fun(int str[]) {
  // does something involving checking elements for EOF, e.g.:
  return (str[0]==EOF);
}
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我想fun用字符串文字调用(虽然字符串文字自然是类型char[],但不能包含EOF),实际上:

fun("test");
Run Code Online (Sandbox Code Playgroud)

这将编译,但有关于错误的参数类型的警告.这是预期的,因为字符串文字char[]和参数是int[].

我能做到这一点:

fun( (int*) "test");
Run Code Online (Sandbox Code Playgroud)

这可能是等价的,只是我正在明确地进行演员,同样的编译警告.

我读的是铸造char*int*不能保证正常工作(链接).这在一般情况下是很自然的,因为如果我现在尝试写一个大intstr[some_index],它可能不适合 - str[some_index]只有一个内存分配给char(告诉我,如果我在这里错了).

但是因为我不会做任何这样的写,而只是比较(并且比较char和int应该没问题) - 我可以使用上述任何一种吗?在这种情况下如何摆脱编译警告?或者解决这个问题的最佳方法是什么?

我当然可以写一个简单的函数来复制char字符串文字给int数组赋予的数组,值为值,但必须有更好的方法.这样的解决方案也会浪费内存.

(顺便说一下 - 当测试时EOF,我会做这样的事情:

int str[] = {'t', 'e', 's', 't', EOF}; …
Run Code Online (Sandbox Code Playgroud)

c arrays string string-literals

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

MAKE_LINTIAN_HAPPY和shell脚本中的单引号有什么作用?

sh我遇到的脚本中,我发现了这些线条

#\
MAKE_LINTIAN_HAPPY '
Run Code Online (Sandbox Code Playgroud)

接近开始.

从标识符的名称,很清楚它为什么被添加.但我的问题是:为什么这个合法的代码以及它做了什么(如果有的话)?


我问的原因是它使得GNU的源代码突出显示在这个脚本上无用,因为它会将tick后的所有文件解释为字符串.如果我知道为什么它是合法的,可能建议编辑语言定义文件来解决这个问题.

我试图在man网页上搜索sh线索

$ man sh|grep "\W'\W"
Run Code Online (Sandbox Code Playgroud)

但是没有一场比赛似乎有帮助(虽然有很多比赛,所以我可能会错过它,如果它在那里).

我也不明白#\; 我不知道这是否与这个问题无关.(Vim将对后面的行进行语法着色#\作为注释,但是一个简单的测试表明它sh会执行以下行#\.)

这是脚本开头的扩展摘录:

#!/bin/sh
# [...]
#\
exec tclsh $0 -- "$@"

#\
MAKE_LINTIAN_HAPPY '

set PROG_VERSION "v1.27 17/06/2005"
Run Code Online (Sandbox Code Playgroud)

linux shell sh

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

标签 统计

arrays ×1

c ×1

linux ×1

sh ×1

shell ×1

string ×1

string-literals ×1

visual-studio-code ×1