无法在这个问题的任何地方找到一个简单,基本的解决方案,所以我认为值得在这里发布它.
当我将代码作为任务运行时,我收到以下消息:"任务仅在工作区文件夹中可用" - 我无法在任何地方找到解决方案,而且我是Visual Studio Code的初学者,所以我可能需要答案/解决方案用更简单的术语解释.
VSC版本= 1.17.0
我知道如何使用该vscode.window.createTerminal方法从VSCode扩展创建一个新终端.此方法返回对终端的引用,以便我随后可以与它进行交互,例如,通过向其发送字符串等.
我真的希望能够与VSCode中的现有终端进行交互,但找不到任何API来执行此操作.是否可以枚举VSCode中的所有开放式集成终端?
我尝试在Visual Studio Code中创建一个简单的正则表达式查找和替换任务。
目前,我从AD中将一些用户复制到Visual Studio代码中的临时文件中,并删除该行开头的“ CN =“以及第一个“,”之后的所有附加信息(正则表达式:,。* $)。这在VSCode中的Find&Replace上可以很好地工作,但是每次我要删除它时,我都必须手动键入它。
所以问题是,是否有可能使这种任务自动化?我知道有一些外部工具(https://code.visualstudio.com/docs/editor/tasks),但我正在努力使其正常工作...
编辑:请求的示例(我的正则表达式正在工作,这不是问题:/。我需要一个示例如何自动执行此任务...)
例
CN=Test User,OU=Benutzer,OU=TEST1,OU=Vert,OU=ES1,OU=HEADQUARTERS,DC=esg,DC=corp
Run Code Online (Sandbox Code Playgroud)
预期产量
Test User
Run Code Online (Sandbox Code Playgroud) 我试图找出如何在launch.json文件的prelaunchtask中一次运行多个任务.
我在tasks.json中的代码如下:
"version": "2.0.0",
"tasks": [
{
"label": "CleanUp_Client",
"type": "shell",
"command": "rm",
"args": [
"-f",
"Client"
],
},
{
"label": "Client_Build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"client.cpp",
"-o",
"Client",
"-lssl",
"-lcrypto"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$gcc"
}
]
Run Code Online (Sandbox Code Playgroud)
在launchLaunchTask参数的launch.json中,如果我只将构建任务放在其中,那么我想运行多个任务,在这种情况下是CleanUp_Client和Client_Build.
我尝试添加另一个preLaunchTask - 但是看起来你只能使用那个参数一次,所以我尝试了:
"preLaunchTask": "build" + "clean",
"preLaunchTask": "build"; "clean",
"preLaunchTask": "build" & "clean",
"preLaunchTask": "build" && "clean",
一切都没有成功,没有正确的语法.
另外作为第二部分,我想知道这部分组的工作方式,以及它对"isDefault"意味着什么:真实.
我正在尝试tasks.json在vscode.
在我的launch.json文件中,我有以下代码来解析 .env 文件:
"configurations": [
{
...
"envFile": "${workspaceFolder}/.env",
}
]
Run Code Online (Sandbox Code Playgroud)
然后我在文件中包含tasks.json此任务:
{
"label": "login",
"command": "sh",
"type": "shell",
"args": [
"${workspaceFolder}/etc/login.sh",
"${env:USERNAME}",
"${env:PASSWORD}"
]
}
Run Code Online (Sandbox Code Playgroud)
这似乎是https://code.visualstudio.com/docs/editor/tasks隐含的代码,但是(通过在另一个任务中回显进行测试)我发现最后两个args是空白的。经过在线研究后,我想我找到了原因,它们configurations..env是由它们tasks自己使用的,而不是由task.json运行访问的,因此无法访问。
我如何env variables在 中创建(使用)这些tasks.json?
我想用 vscode 开发 C 程序。
如果我理解正确的话, Mytasks.json描述了构建阶段,如下所示:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc build active file",
"command": "/usr/bin/gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"runOptions": {
"runOn": "default"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
由于所有编译器错误都是由构建生成的,因此我想在每次保存文件时运行它。这使我能够立即获得编译器反馈。
我该如何设置这个?请注意,大多数插件(例如“保存时运行”)不起作用,因为我无法指定任务,只能指定命令,然后我不会收到编译器错误。
我正在尝试迁移到 VSCode,但在设置任务时遇到问题。在 tasks.json 中定义任务很容易,但我想同时运行多个任务(我不能)。
这是我的用例:我的项目中有两个观察者(一个用于 gulp,另一个用于 webpack)。另外我希望能够单独运行 webpack 任务。当我运行其中一个观察者时,我无法运行其他任何东西 - VSCode 要求我首先终止正在运行的任务。
在 Visual Studio 中,我使用了 Task Runner,其中多个任务同时运行。是否可以在 VSCode 中实现相同的目标?
是否可以将keybindings.json作为工作空间设置的一部分而不是用户设置?
由于我有与工作空间相关联的特定任务,因此我还希望能够分配特定于工作空间的快捷方式。因为我将在单独的Windows和Linux环境中使用这些快捷方式,所以我不希望看到这些键绑定定义最终出现在特定于环境的用户设置中。
我希望在打开项目时默认启用“任务:允许文件夹中的自动任务”
这是tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "gulp",
"runOptions": {
"runOn": "folderOpen"
}
}
]
Run Code Online (Sandbox Code Playgroud)
}
它在启动时运行,但仅当我通过 cmd+shift+p 调用“任务:允许文件夹中的自动任务”并重新打开项目时
我需要默认启用此功能。我怎样才能做到这一点 ?