如何找到已安装的node.js/npm 包的版本?
这将打印npm本身的版本:
npm -v <package-name>
Run Code Online (Sandbox Code Playgroud)
这打印出一个神秘的错误:
npm version <package-name>
Run Code Online (Sandbox Code Playgroud)
这将在注册表上打印包版本(即可用的最新版本):
npm view <package-name> version
Run Code Online (Sandbox Code Playgroud)
我如何获得已安装的版本?
我知道在最初的C++ 0x标准中有一个叫做的功能export.
但是我找不到这个功能的描述或解释.该怎么办?另外:哪个编译器支持它?
我经常发现自己处于需要缩进预处理程序指令的情况,例如其他代码(例如#if缩进if).它似乎是合法的,这是常识,它有时是一件好事,但Visual不会让它变得容易.
有没有办法阻止Visual C++ 2010编辑器每次我无辜地按下时将代码粘贴到左边#?并且不要使用自动缩进(CTRL + K,CTRL + F)来破坏预处理程序指令缩进?或者更好的是,像其他一样处理预处理器指令?
c++ indentation visual-c++-2010 c-preprocessor preprocessor-directive
我使用Visual C++ 2012和一个大量使用预编译头的项目.如此沉重以至于臭名昭着/ Zm开关正在使用中.
当我取消正在进行的构建时,我有时会在下一个构建中出现此错误:
error C1852: 'foo.pch' is not a valid precompiled header file
Run Code Online (Sandbox Code Playgroud)
十分之九,事情会顺利进行,但是当发生这种情况时,我必须找到.pch并在重新启动构建之前手动删除它.
这让我有点恼火.有没有办法防止这种情况发生?来自微软的补丁?或者强制Visual删除.pch并在问题发生时自动重新启动构建的方法?或者其他一些我没想过的解决方案?
编辑:这是我正在运行的Visual版本:
Microsoft Visual Studio Professional 2012
Version 11.0.61030.00 Update 4
Run Code Online (Sandbox Code Playgroud) 我正在访问NODE_ENV环境变量以打开node.js服务器中的一些调试功能.它曾经像魅力一样工作,但现在我面临一些非常奇怪的东西.这是我正在做的事情:
// check if the env var is OK
console.log(process.env.NODE_ENV);
// WTF???
if (process.env.NODE_ENV == "development") {
console.log("ok");
}
else {
console.log("nope");
}
// sanity check
var str = "development";
if (str == "development") {
console.log("ok");
}
else {
console.log("nope");
}
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
development
nope
ok
Run Code Online (Sandbox Code Playgroud)
怎么可能?我是否面临node.js中的错误?如果没有,我做错了什么?
编辑
按照下面的Pointy的评论,如果我将初始日志更改为console.log("[" + process.env.NODE_ENV + "]");:
]development
nope
ok
Run Code Online (Sandbox Code Playgroud)
那么,一个已知问题可能呢?
由于Visual Studio 2010的msvsmon工具,我正在定期进行远程调试.我曾经在选项屏幕中将超时设置为零,因为我只想让工具继续运行直到我完成它:

这工作正常,但我厌倦了每天这样做,我正在尝试从脚本,使用适当的命令行开关:
msvsmon.exe /timeout:0
Run Code Online (Sandbox Code Playgroud)
但没有雪茄:

我可以通过设置一个可笑的长超时来解决这个问题,但我只是在检查:是否有一种正确的方法可以从命令行禁用此超时?或者可能使用注册表项?
remote-debugging visual-studio-2010 visual-studio visual-studio-2013
将新文件添加到Visual C++项目时,IDE会将它们添加到两个位置:
合并文件添加对主项目文件来说不是问题,但它通常是过滤器冲突的根源.问题来自于IDE总是在过滤器列表的最末端添加新元素.
为了说明这个问题,我们假设过滤器最初看起来像这样:
1 <ClInclude Include="fs\path\oldFile1.h">
2 <Filter>virtual\path</Filter>
3 </ClInclude>
4 <ClInclude Include="fs\path\oldFile2.h">
5 <Filter>virtual\path</Filter>
6 </ClInclude>
Run Code Online (Sandbox Code Playgroud)
然后程序员A添加newFileA.h并提交,过滤器更新如下:
1 <ClInclude Include="fs\path\oldFile1.h">
2 <Filter>virtual\path</Filter>
3 </ClInclude>
4 <ClInclude Include="fs\path\oldFile2.h">
5 <Filter>virtual\path</Filter>
6 </ClInclude>
7 <ClInclude Include="fs\path\newFileA.h">
8 <Filter>virtual\path</Filter>
9 </ClInclude>
Run Code Online (Sandbox Code Playgroud)
如果程序员B还添加了一个newFileB.h并且在头版本上同步的注释,那么他的本地过滤器副本将如下所示:
1 <ClInclude Include="fs\path\oldFile1.h">
2 <Filter>virtual\path</Filter>
3 </ClInclude>
4 <ClInclude Include="fs\path\oldFile2.h">
5 <Filter>virtual\path</Filter>
6 </ClInclude>
7 <ClInclude Include="fs\path\newFileB.h">
8 <Filter>virtual\path</Filter>
9 </ClInclude>
Run Code Online (Sandbox Code Playgroud)
试图与程序员A的变化同步将系统地引起程序员B的第7-8-9行的合并冲突.这是因为变化恰好发生在完全相同的位置.
有没有办法防止这个问题发生,无论是通过Visual Studio中的配置更改,某些合并工具(最好是 Araxis Merge或Beyond Compare)的特殊选项,还是其他任何东西?
merge merge-conflict-resolution visual-studio-2012 visual-c++-2012
我想以这种方式格式化我的 C++ 转换运算符:
Class * foo = static_cast< Class * >( bar );
Run Code Online (Sandbox Code Playgroud)
Visual Studio 坚持删除尖括号内的空格:
Class * foo = static_cast<Class*>( bar );
Run Code Online (Sandbox Code Playgroud)
我如何防止它这样做?
我需要阻止C++静态库在软件评估期的过期日期之后链接.我怎样才能做到这一点?
这应该适用于最新版本的Visual C++编译器(2012年,2010年,理想情况下为2008年).对更多编译器的支持将是一个加分(英特尔,gcc,游戏控制台编译器).能够在到期日期前几天弹出编译器警告也是一个很好的功能.
我有一些旧的搁置文件在长期待定的Perforce变更列表中,我可能永远不会提交.我想摆脱那些变更列表,因为它们污染了我的空间,但我不想失去一切,以防万一我需要那些,所以我需要备份.
有没有办法将搁置文件从更改列表移动到文件系统的某个位置?
将搁置的文件从P4V拖放到Windows资源管理器不起作用.命令行工具p4 unshelve似乎没有这样的选项.我还想避免在备份文件之前先取消文件,因为如果这些文件已经通过编辑检出,这将意味着额外的麻烦.
编辑
阅读答案让我意识到我真正想要的是保持这种变更列表安全,但远离视图(即远离我的常规工作空间).我不在乎它是在我的文件系统上还是在其他地方.所以我的问题实际上是:
有没有办法将搁置的文件从工作区移开备份?
c++ ×4
node.js ×2
visual-c++ ×2
backup ×1
casting ×1
indentation ×1
javascript ×1
merge ×1
npm ×1
package ×1
pch ×1
perforce ×1
shelve ×1
unshelve ×1