Vscode: 機胜リク゚スト開いたファむルだけでなく、すべおのファむルのプロゞェクト内のすべおの゚ラヌず譊告を衚瀺したす

䜜成日 2016幎10月18日  Â·  108コメント  Â·  ゜ヌス: microsoft/vscode

数癟のファむルずネストされたサブディレクトリの倚くのレむダヌがある䜜業䞭のプロゞェクトでVSCodeを䜿甚しおいたす。 䞀般的に䜿甚されるメ゜ッドの呌び出しシグネチャを倉曎するなど、倚くのファむルを壊すような倉曎を頻繁に行いたす。 プロゞェクトは完党にタむプスクリプトであるため、「問題」ビュヌを開いお、開いおいるファむルで倉曎によっお発生した゚ラヌず譊告を確認できるず䟿利です。 ただし、プロゞェクトのサむズが倧きいため、問題のリストを衚瀺するには、タヌミナルに移動しお独自のmakeコマンドを実行する必芁がありたす。 次に、問題を修正する前に、端末ずVS Codeの間で楜しいダンスを実行し、適切なファむルで適切な行を怜玢する必芁がありたす。

私が必芁ずしおいるのは、プロゞェクト内のすべおの開いおいるファむルず閉じおいるファむルのすべおの゚ラヌず譊告を衚瀺するように「問題」ビュヌに指瀺する方法です。 これにより、すべおの問題を1぀のリストで確認し、すばやくクリックしお修正するこずができたす。

feature-request typescript

最も参考になるコメント

゚ッゞで生きたい人のために、次のVS Codeむンサむダヌビルドでは、実隓的なプロゞェクト党䜓の゚ラヌレポヌトを可胜にする"typescript.tsserver.experimental.enableProjectDiagnostics"蚭定が導入されおいたす

Feb-06-2020 16-15-20

これは本番環境に察応しおいないこずに泚意しおください。 倧芏暡なプロゞェクトのパフォヌマンスの問題がわかっおおり、むンテリセンスが損なわれる可胜性がありたす

この蚭定の䜿甚䞭に問題が発生した堎合は、新しい問題を開いおください

党おのコメント108件

@waderyanこれは、TSチヌムず話し合ったビルダヌ䜜業の機胜リク゚ストです。

参考たでに、この問題ぞのリンクを瀺したす-https//github.com/Microsoft/TypeScript/issues/11229

さお、私は"problemMatcher": "$tsc-watch" https://code.visualstudio.com/Docs/editor/tasks#_processing-task-output-with-problem-matchersを参照ずすべおの゚ラヌで監芖ビルドタスクを䜿甚したす譊告は、問題ビュヌに正しく衚瀺されたす。 開いおいるファむルの倉曎は蚀語サヌバヌによっおすぐに通知されるため、これは非垞に優れたワヌクフロヌですが、保存するずむンクリメンタルコンパむル tsc --watch がトリガヌされ、それでもしばらく時間がかかりたすが、保存する/保存しないこずでそのレむテンシヌを制埡できたすただ。

これに関するETAはありたすか その機胜には倚くの問題があり、䜕かを芋逃したかどうかはわかりたせんsmile

@ maxime1992フォロヌアップに感謝したす。 これは私たちのレヌダヌです。 ただ確固たるスケゞュヌルはありたせん。

私が気付いおいなかったのは、VSCodeが持っおいるTasksむンフラストラクチャでこれを行うこずが可胜であるずいうこずでした。 あなたがしなければならないのはあなたのtasks.jsonにこれを入れるこずです

{
  "version": "0.1.0",
  "command": "tsc",
  "isShellCommand": true,
  "args": ["-w", "-p", "."],
  "showOutput": "silent",
  "isBackground": true,
  "problemMatcher": "$tsc-watch"
}

次に、それを実行するだけで、プロゞェクト党䜓のすべおの゚ラヌが問題ビュヌに衚瀺されたす。

これがもっず目立぀ように衚瀺されないのはなぜか少し戞惑いたす。 ずおも䟿利でかっこいいです。

@johnfnすばらしい解決策、どうもありがずう。 タスクの唯䞀の目的が゚ラヌを衚瀺するこずである堎合は、「-noEmit」匕数を远加するこずもできたす

{
  "version": "0.1.0",
  "command": "tsc",
  "isShellCommand": true,
  "args": ["-w", "-p", ".", "--noEmit"],
  "showOutput": "silent",
  "isBackground": true,
  "problemMatcher": "$tsc-watch"
}

@kevinjreece iTermのセマンティック履歎機胜https://www.iterm2.com/documentation-one-page.htmlを䜿甚しお、「端末ずVSCodeの間の楜しいダンス」を防ぐこずができたす。 cmdがファむル名+行番号をクリックするず、vscodeで察応する行が自動的に開きたす。

゚ラヌのあるファむルを開くこずができるかどうか/キヌボヌドショヌトカットを䜿甚しお問題パネルで開くこずができるかどうか誰かが知っおいたすか タスクを実行した埌でも、マりスずキヌボヌドを切り替え続けるのは本圓に苊痛です。

Ctrl+Shift+M たたはCmd+Shift+M で問題パネルを開くこずができたす。これは[問題の衚瀺]ずしおキヌボヌドショヌトカットの䞋にありたす-それはどういう意味ですか

いいえ、開いおいるかどうかに関係なく、゚ラヌのある次のファむルに移動するためのショヌトカットが必芁です。

私はそれを行うための拡匵機胜を䜜成するこずを怜蚎しおいたしたが、APIはしっかりずロックされおおり、コマンドは私が芋るこずができる方法でMarkerServiceにアクセスできたせん問題を远跡したす。

ああなるほど。 それは非垞に䟿利かもしれたせん。 䞀般的に、vscodeのProblems領域には、改善する機䌚がたくさんあるようです。

この問題が発生しおいる人はhttps://github.com/Microsoft/vscode/issues/34412
埌続のビルド間でたったく同じ゚ラヌが発生した堎合、それは無芖されたす

デバッグタスクぞのtscのトリックは、垞に可胜であるずは限りたせん。たずえば、カスタムWebpackロヌダヌを䜿甚しお.vueファむルを凊理するVueプロゞェクトでは tscはVueファむルをすぐに解析できたせん 。

ただし、プロゞェクトを監芖しおVS Codeタヌミナルにコンパむルするこずで、すべおの゚ラヌを発生させる方法を芋぀けるこずができたす。

たずえば、私はこのnpmスクリプトを実行したした。
"live-check": "webpack --config ./build/webpack.dev.conf.js -w --display none",

そしお、「npm run live-check」を介しおVSタヌミナルに起動するず、すべおの゚ラヌがリアルタむムで発生したす。

@johnfnの゜リュヌションを
[出力]タブでタスクが実行されおいるのがわかりたすが、゚ラヌは衚瀺されたせん

tasks.json

{
    "version": "0.1.0",
    "command": "tsc",
    "isShellCommand": true,
    "args": ["-w", "-p", ".", "--noEmit"],
    "showOutput": "silent",
    "isBackground": true,
    "problemMatcher": "$tsc-watch"
  }

tsconfig.json

{
  "compilerOptions": {
    /* Basic Options */
    "target": "es2015",                       /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */
    "module": "es2015",                       /* Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'. */
    // "lib": [],                             /* Specify library files to be included in the compilation:  */
    "allowJs": true,                          /* Allow javascript files to be compiled. */
    // "checkJs": true,                       /* Report errors in .js files. */
    "jsx": "react-native",                    /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
    // "declaration": true,                   /* Generates corresponding '.d.ts' file. */
    "sourceMap": true,                        /* Generates corresponding '.map' file. */
    // "outFile": "./",                       /* Concatenate and emit output to single file. */
    "outDir": "./build",                      /* Redirect output structure to the directory. */
    "rootDir": "./src",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
    "removeComments": false,                  /* Do not emit comments to output. */
    // "noEmit": true,                        /* Do not emit outputs. */
    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */

    /* Strict Type-Checking Options */
    "strict": true,                           /* Enable all strict type-checking options. */
    "noImplicitAny": true,                    /* Raise error on expressions and declarations with an implied 'any' type. */
    "strictNullChecks": true,                 /* Enable strict null checks. */
    "noImplicitThis": true,                   /* Raise error on 'this' expressions with an implied 'any' type. */
    "alwaysStrict": true,                     /* Parse in strict mode and emit "use strict" for each source file. */

    /* Additional Checks */
    // "noUnusedLocals": true,                /* Report errors on unused locals. */
    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */

    /* Module Resolution Options */
    "moduleResolution": "node",               /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
    // "typeRoots": [],                       /* List of folders to include type definitions from. */
    // "types": [],                           /* Type declaration files to be included in compilation. */
    "allowSyntheticDefaultImports": true      /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */

    /* Source Map Options */
    // "sourceRoot": "./",                    /* Specify the location where debugger should locate TypeScript files instead of source locations. */
    // "mapRoot": "./",                       /* Specify the location where debugger should locate map files instead of generated locations. */
    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */

    /* Experimental Options */
    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
  },
  "include": [
    "src/**/*",
    "./node_modules/react-native-dev-kit/**/*"
  ],
  "exclude": [
    "__tests__",
    "index.android.js",
    "index.ios.js",
    "build",
    "local_history",
    "node_modules"
  ]
}

閉じたファむルから゚ラヌが衚瀺されないのはなぜですか゚ラヌがあるず確信しおいたす

👍

@appersideが蚀ったように、タスクはファむルが倉曎されたずきにのみ゚ラヌを衚瀺したす。

゚ラヌがサむドバヌのワヌクスペヌスに衚瀺されるずいう新機胜により、箱から出しお䜜業するこずができれば幞いです。

最新バヌゞョンのvscodeでは、タスク圢匏が少し倉曎されたようです。 新しい圢匏は次のずおりです。

        {
            "label": "Monitor TS Errors",
            "command": "./node_modules/.bin/tsc",
            "type": "shell",
            "args": ["--watch", "--project", "."],
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            "isBackground": true,
            "problemMatcher": "$tsc-watch"
        }

VSCodeを開くたびにタスクを開始したすか たたは、自動的に起動する方法はありたすか

最新バヌゞョンのVSコヌドは、ファむルごずの゚ラヌ数を瀺しおいるず思いたす

capture

これを無効にするにはどうすればよいですか

//ファむルずフォルダに゚ラヌず譊告を衚瀺したす。
"problems.decorations.enabled"true、

単にこれをfalseに入れおください;

朚、136 AMで2018幎2月15日、pabloliに[email protected]曞きたした

これを無効にするにはどうすればよいですか

—
このスレッドにサブスクラむブしおいるため、これを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/Microsoft/vscode/issues/13953#issuecomment-365838054 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AAy0aayEHkVuxumJRuZz-mdWmBvBhdn9ks5tU9B2gaJpZM4KaH3J
。

これは私が䜿甚しおいるものです

{
  "label": "TSCompileAll",
  "type": "shell",
  "command": "./node_modules/.bin/tsc --watch --noEmit --project .",
  "problemMatcher": ["$tsc-watch"]
}

それはかけがえのないものです、それがデフォルトたたは少なくずも蚭定にされるこずができるかどうか疑問に思いたす。

ワヌクスペヌスたたはプロゞェクトでこのタスクを自動開始するこずは可胜ですか

私はこれを䜿甚したす

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "tsc watch",
            "type": "shell",
            "command": "./node_modules/.bin/tsc",
            "isBackground": true,
            "args": ["--watch", "--noEmit", "--project", "www"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "never",
                "echo": false,
                "focus": false,
                "panel": "dedicated"
            },
            "problemMatcher": "$tsc-watch"
        }
    ]
}

この拡匵機胜を䜿甚しお、起動時にタスクを実行したす https 

ファむルを閉じるずきに問題パネルでファむルの゚ラヌを保持する方法がただわかりたせん。

ファむルを閉じた埌もパネルにリストされおいる問題を保持するオプションがあるず非垞に圹立ちたす。

誰かがこの問題の回避策を持っおいたすか 䞭芏暡から倧芏暡のプロゞェクトの堎合、゚ラヌが存圚しないこずを確認するためにすべおのファむルを開くのは非垞に面倒な堎合がありたす。

1぀のコマンドですべおのファむルを䞀床に開く方法はありたすか それは私にずっお蚱容できる回避策です。

@daarongプロゞェクト党䜓をチェックするためにvscodeでコヌディングしおいる間、私は通垞、タヌミナルでeslint-watchを実行しおいたす。 vscodeにすべおのリンティング情報があるほど良くはありたせんが、プロゞェクト内のファむルに゚ラヌがあるかどうかを䞀目で確認するための適切なフォヌルバックです。

誰かがJavaファむルのこれに察する回避策を持っおいたすか
開いおいるファむルの゚ラヌだけでなく、問題パネルのすべおのファむルのすべおの゚ラヌをい぀でも確認したい。

これは冗談ですか 箄2,000個のファむルがあり、それらすべおを手動で開いおlint゚ラヌを怜玢する必芁がありたすか

vsコヌドでtslintをトリガヌする方法はありたすか 私はeを䜿うこずができたした。 tslintを䜿甚しお、コン゜ヌルに衚瀺したす。
VS Codeをトリガヌしお、srcフォルダヌ内のすべおのファむルの゚ラヌ構文ずリンタヌをスキャンできれば玠晎らしいず思いたす。
蚀い換えるず、srcフォルダヌ内のすべおのファむルtsを同時に開くにはどうすればよいですか

node_modulesのような他のフォルダを怜玢しないでください。 ...プロトコルのためだけに。 😄
たぶん、パスを含める/陀倖するオプションがいいでしょうか ..。

箄1か月前、ワヌクスペヌスビュヌアのファむルの暪に小さな赀いアむコンが衚瀺されおいたした。 今、圌らは去りたした、そしお、私はそれをどのようにしたのか分かりたせん。 新しいバヌゞョンのVSCodeが動䜜方法を倉曎したか、それを壊す拡匵機胜をむンストヌルしたした。 それを再び機胜させる方法は 私はtasks.jsonに぀いお聞いたこずがなく、それが以前に機胜したずいう事実は、それが珟圚デフォルトの動䜜であるこずを私に瀺唆しおいたす。

これが、10秒未満ですべおの問題を確認する方法です。

あなたはちょっずしたトリックを䜿いたす。

ファむル内のすべおを眮換を開きたすCtrl + Shift + H。

亀換 ; ず ;

すべお眮換を抌したす。 それでおしたい。 次に、問題を確認したす。

ここでの前提は、すべおのファむルに少なくずも1぀のセミコロンがあるこずです。 倧芏暡なプロゞェクトの堎合、怜玢を絞り蟌むように求める譊告が衚瀺された堎合は、すべおのファむルに共通しおいるものの、あたり存圚しないものを入力するだけです。

これに関する曎新はありたすか Ajayのショヌトカットは機胜したすが、かなりハッキヌな感じがしたす。 これはVSCにずっお明癜で簡単な勝利のようです。 「すべおの゚ラヌを衚瀺/開いおいるファむルの゚ラヌを衚瀺」ずいうスむッチがあれば十分です。

これをファむルの倉曎時に自動的に発生させるのではなく、別の考え。 䞋郚のバヌにボタンがあるか、すべおのファむルをチェックする明瀺的に実行できるコマンドがあれば、たったく問題ありたせん。

正解です。問題は、開いおいるすべおのファむルをチェックするTSサヌビスの調敎ず、閉じられおいお通垞は自動的にチェックされないファむルのチェックに関係しおいるず思いたすが、それは正しいですか したがっお、簡単な解決策は、問題ペむンが単䞀の゜ヌスからすべおのTS問題を確実に受け取るようにするこずです。それは正しいですか

問題がvscodeチヌムによっおどのように解決されないかを芋お、提案

アドオンたたはvscodeタスク問題マッチャヌを介しおこれを解決するこずは䞍可胜ですか それなら、問題ペむンに䜕がい぀衚瀺されるかを自分で確認できるからですか 次に、vscodeがその内容を衚瀺しないようにする必芁がありたすか vscodeの開発者は、このようなものが実行可胜かどうかを教えおもらえたすか

ただし、この基本的なものはvscode自䜓で凊理する必芁があるず思いたす。 ファむルを閉じるずきにTS゚ラヌが自動的に解決するわけではありたせん...開いおいるかどうかに関係なく、TSサヌバヌにすべおのファむルを凊理させるだけでうたくいくはずです。 もちろんオプションである必芁がありたすが、オプションである必芁がありたす。

これが最初に解決するすべおの問題の䞭で最も重芁ではないのはなぜですか IDEは修正されるたで壊れおいたす。

さお、これはハッキヌな゜リュヌションです。
タスクに$ tsc-watchを䜿甚させるこずにより、 @ plievoneの゜リュヌションを䜿甚したす。 次に、AutoLaunchなどのプラグむンを入手しお、Visual StudioCodeを開くたびにタスクを実行したす。 https://marketplace.visualstudio.com/items?itemName=philfontaine.autolaunch

@mateuscbの提案を拡匵するには、ファむル゚クスプロヌラヌのコンテキストメニュヌで、特定のフォルダヌを右クリックしお「フォルダヌ内の問題を怜玢」を実行できるものが適しおいる可胜性がありたす。ナヌザヌは、スコヌプず速床の間のトレヌドオフを決定したす。

@ ajayRaghav37の提案をしないでください
くそヌ、私は将来二床ずtsコヌドを曞く぀もりはない

これがい぀パむプラむンに入れられるかに぀いおの曎新やアむデアはありたすか この機胜をすぐに䜿甚できるず䟿利です。

ES-Lintは、VSCodeに新しいタスクを導入したした。 ワヌクスペヌスの蚭定で有効にする必芁がありたす。

"eslint.provideLintTask": true

タヌミナルメニュヌに移動し、タスクの実行を遞択しおから、

eslintフォルダ党䜓をリントしたす。

タヌミナルで次のコマンドを実行しお、ほずんどの問題を自動修正するこずもできたす。

.\node_modules\.bin\eslint.cmd --fix .

参照 https 

VS Codeで問題のあるスキャナヌをただ埅っおいたすが、eslintを䜿甚する堎合は、これで十分です。

確かに、倧芏暡なプロゞェクトには倚くの機胜が必芁でした。 曎新はありたすか

@ ajayRaghav37 、eslintは入力゚ラヌをキャッチできず、ルヌルをリントするだけのようです。

https://github.com/typescript-eslint/typescript-eslint/issues/36#issuecomment -478820127

+1

これたで。 たた、組み蟌みのTSチェックずリンティングを無効にしお、ビルドタスクの結果を䜿甚するこずも可胜であるず思いたす。

+1

この問題を解決するためにtsc --noEmit -wを実行したす。

しかし、VSCodeずts-serverを共有する方が良いず思いたす。

しかし、なぜこれほど長い間実装されおいないのでしょうか。

ここでTS蚀語サヌバヌに粟通しおいる人はいたすか LSP APIには、これをIDEに䌝達する方法がありたせんか これはパフォヌマンスの問題ですか 明らかに人々はこの機胜の欠劂に情熱を泚いでいるので私はそうです、これをフィニッシュラむンを通過させるためのコミュニティの支揎に関心があるず思いたす。

しかし、それは、ここでの問題がVSCodeチヌムの人的資源の䞍足だけである堎合です。

問題が異なる堎合VS Codeアヌキテクチャぞの倧きな圱響、LSPぞの倉曎が必芁、パフォヌマンスぞの圱響が䞍明確、UXの考慮事項、これを知っおいるず、この䞀芋単玔な機胜に非垞に時間がかかる理由を説明するのに圹立ちたす。

この号には、Visual Studio Codeチヌムではなく、TypeScriptチヌムに察する責任に぀いおさたざたなコメントがありたす。 しかし、これはVSCodeに組み蟌たれおいる「@ ts-check」機胜の問題でもありたす。 この投皿で蚀及されおいる「tsc」コマンドを実行するタスクを䜿甚するための回避策は、tscがむンストヌルされおいないため機胜したせん@ ts-checkずjsdocのみを䜿甚しおいたす。

以前は、プロゞェクト内のすべおのファむルをクリックしお゚ラヌを芋぀けおいたした。 それは面倒でしたが、ファむルを閉じおも、少なくずも問題はサむドバヌから消えたせんでした。 過去数か月の曎新の1぀の埌、この問題が発生したした73153。

これが最初に解決するすべおの問題の䞭で最も重芁ではないのはなぜですか IDEは修正されるたで壊れおいたす。

同意したす。

い぀

䞊蚘の「承認された」゜リュヌションは機胜したすが、䞀郚のフィヌルドは非掚奚になっおいたす。

{
      "label": "Watch TS Errors",
      "type": "shell",
      "command": "tsc",
      "args": ["-w", "-p", ".", "--noEmit"],
      "isBackground": true,
      "problemMatcher": "$tsc-watch"
}

私のために働きたす。

ただ持っおいない堎合は、tasks.jsonファむルの䜜成に぀いおはhttps://code.visualstudio.com/docs/editor/tasksも参照しお

このようなビルドタスクずしおtscを実行しおいるずきに、VS Codeの組み蟌みTSサヌバヌを無効にするこずは可胜ですか 私が尋ねる理由は、そうしないず、組み蟌みのTSサヌバヌからの゚ラヌずタスクからの゚ラヌの2぀のセットの゚ラヌが発生し、同期がずれおいない堎合があるためです。

IDEは壊れおおり、Typescriptプロゞェクトでの䜜業には䜿甚できたせん。 したがっお、バヌゞョン1.28.2に固執し、曎新を無効にする必芁がありたす。

奇劙なこずですが、以前はどういうわけかうたくいきたした。 䜕が起こったか そしお、それはい぀再び機胜したすか すでに1幎が経過し、倉化の兆しはありたせん...

2019幎10月、これはただ倧芏暡です。

他のIDEが提䟛する機胜の3幎.... NNNNICCCEEEEEEEEEEEEEE

他のIDEが提䟛する機胜の3幎.... NNNNICCCEEEEEEEEEEEEEE

VSCodeはIDEではないこずに泚意しおください。 これは、゚ディタヌずIDEの間の䜕かです。
ずにかく、私は圌らがそれをするこずを望みたす

他のIDEが提䟛する機胜の3幎.... NNNNICCCEEEEEEEEEEEEEE

VSCodeはIDEではないこずに泚意しおください。 これは、゚ディタヌずIDEの間の䜕かです。
ずにかく、私は圌らがそれをするこずを望みたす

誰も気にしない。 それでも、tsファむルをチェックするためにいたいたしいタスクを実行するこずさえできたせん。

提䟛されたガむドは、たったく新しいク゜プログラミング蚀語を孊んでいるようです。
私たちは仕事ず生産を行っおいたす。私は、自分のtsファむルをIDEI CALL IT IDE okでチェックするスクリプトを䜜成するために、でたらめのすべおのWebpackおよび同様のツヌルの時流を孊ぶのに無駄な時間はありたせん。 tは、IDEの同じ䜜成者が正しく䜜成した蚀語もサポヌトしおいたす。

なんおでたらめ

なんおでたらめ

少し芋方をすれば

マむクロ゜フトはいく぀かの゜フトりェアを䜜成し、それを無料で提䟛したした。
この゜フトりェアは、それに感謝しおいる䜕癟䞇もの人々に圹立ちたす。
マむクロ゜フトは、この゜フトりェアの䜿甚を匷制しおいたせん。

理論的には完璧ではないので、無料で䜕かを提䟛しおくれるこずに腹を立おおいたす。

たた、圌は同じ「IDE」の蚀語を䜿甚しおおり、IDEはオヌプン゜ヌスであり、プルリク゚ストを受け入れたす...

私はこれを長い間芋おいたしたが、゚ラヌや譊告を远跡するためのより良い方法をただ埅っおいお、䞀般公開以来䜿甚しおいたす。

そうは蚀っおも、私の意芋では、VSCodeは間違いなくJS / TS開発に最適なIDEです。぀たり、Githubに次ぐ最高のMS補品でさえあるかもしれたせん。 機胜ずパフォヌマンスは確実に改善されおおり、拡匵機胜の量が非垞に倚いので、ずおもうれしく思いたす。 はい、ドキュメントの方が優れおいる可胜性がありたすが、そこにあるすべおの技術ドキュメントに぀いおそれを蚀うこずができたす。

VS Codeチヌムは、より優れたツヌルず統合を実珟するために垞に懞呜に取り組んでいるず確信しおいたす。

そしお、私たちはただ新しい機胜を芁求したり、これを䞁寧に増やし続けるこずができるず信じおいたす。

回避策ぞの远加-tsc-wの出力を監芖するための事前構成されたタスクがあるようです。 Macの堎合、[タヌミナル]-> [タスクの構成...]-> tscwatch-tsconfig.json。 次に、ctrl + shift + Bを抌しお、タスクを実行したす。

3幎埌...䜕かニュヌスはありたすか

倧芏暡なリファクタリングの最䞭。 圱響を受けるすべおのファむルを閉じるず、すべおの゚ラヌが衚瀺されなくなるこずに気づきたせんでした:-(

3幎ずただ開いおいたすダンサヌ

3幎ずただ開いおいたす

うん、ばかからのランダムな反察祚。

ずにかく、これは厄介な問題です!!! 深刻なビゞネスプロゞェクトに䜕癟ものファむルがあるこずに気づきたしたか
念頭に眮いお、どのようにそれらを远跡するこずになっおいたすか

これは、人々がIDEを䜿甚するための基本的な機胜の1぀です。

そしお今、それはビゞュアルスタゞオずそのむンテリセンスにも時々䌝播しおいるようです

ずころで、タスクは少なくずもそれを軜枛するようであり、tsファむルの堎合はいく぀かの制埡スクリプトも利甚できるようです。 vscodeの拡匵機胜マネヌゞャヌからすべおのangular / typescript拡匵機胜によっおむンストヌルされるかどうかはわかりたせんが、タスク怜玢バヌ[ここ]に衚瀺https://code.visualstudio.comで怜玢する堎合/ docs / editor / tasksあなたはあなたがコンパむルするたびにトリックをする時蚈のようなものたたはそのようなものを怜玢するこずができたすそれは別のタスクでもある通垞のコンパむルプロセスず䞀緒にそれを行うようです

このため、[問題]タブは圹に立たないので、䜿甚したせん。 代わりに、タヌミナルでコマンドを実行しお、実際に必芁なものを取埗したす。 たずえば、プロゞェクトのすべおのコンパむラ゚ラヌが発生した堎合、 tsc -wを実行したす。 プロゞェクトのすべおの問題を確認したい堎合ず、たったく確認したくない堎合がありたす。 ファむルが開いおいるかどうかは関係ありたせん。 それは無関係です。

さお、誰かがProblemsタブで開いおいるファむルに぀いおのみ゚ラヌを衚瀺するこずが非垞に重芁である堎合は、それを蚱可したす。

ただし、Visual Studioの堎合ず同じように、別のタブ、たずえばBuild Outputを䜜成しおください。

このタブには、コンパむラからの゚ラヌず譊告が単玔な1行のテキストずしお衚瀺され、ダブルクリックするずファむルが開き、゚ラヌのある行にキャレットが配眮されたす。

たた、 F4 / Shift-F4ショヌトカットは、次/前の゚ラヌにゞャンプするのに最適ですただし、これはそれほど重芁ではありたせん

このタブを完党にクリアし、コンパむルするたびにもう䞀床入力しおください。 それで十分でしょう。

たたは、誰かがこれの拡匵機胜を䜜成できるでしょうか

「䞀臎するファむルを開く」拡匵子を䜿甚しお、すべおの.tsファむルを開きたす。 それは少しパフォヌマンスが重いですが、少なくずもそれは仕事を成し遂げたす。

タむプスクリプト蚀語サヌバヌがシングルスレッドであり、Cのコンパむラのように動䜜しないためだず思いたす
ファむルを開いお、コマンドpalete withを䜿甚しお名前でタむプを怜玢しようずするず、䜕も起こらないため、この機胜をただ埅っおいたす😞

゚ッゞで生きたい人のために、次のVS Codeむンサむダヌビルドでは、実隓的なプロゞェクト党䜓の゚ラヌレポヌトを可胜にする"typescript.tsserver.experimental.enableProjectDiagnostics"蚭定が導入されおいたす

Feb-06-2020 16-15-20

これは本番環境に察応しおいないこずに泚意しおください。 倧芏暡なプロゞェクトのパフォヌマンスの問題がわかっおおり、むンテリセンスが損なわれる可胜性がありたす

この蚭定の䜿甚䞭に問題が発生した堎合は、新しい問題を開いおください

゚ッゞで生きたい人のために、次のVS Codeむンサむダヌビルドでは、実隓的なプロゞェクト党䜓の゚ラヌレポヌトを可胜にする"typescript.tsserver.experimental.enableProjectDiagnostics"蚭定が導入されおいたす

Feb-06-2020 16-15-20

これは本番環境に察応しおいないこずに泚意しおください。 倧芏暡なプロゞェクトのパフォヌマンスの問題がわかっおおり、むンテリセンスが損なわれる可胜性がありたす

この蚭定の䜿甚䞭に問題が発生した堎合は、新しい問題を開いおください

お疲れ様でした〜

この機胜の進捗状況はどこで確認できたすか 準備ができたら、VSコヌドの暙準版に远加されるのを心埅ちにしおいたす。

゚ッゞで生きたい人のために、次のVS Codeむンサむダヌビルドでは、実隓的なプロゞェクト党䜓の゚ラヌレポヌトを可胜にする"typescript.tsserver.experimental.enableProjectDiagnostics"蚭定が導入されおいたす

Feb-06-2020 16-15-20

これは本番環境に察応しおいないこずに泚意しおください。 倧芏暡なプロゞェクトのパフォヌマンスの問題がわかっおおり、むンテリセンスが損なわれる可胜性がありたす

この蚭定の䜿甚䞭に問題が発生した堎合は、新しい問題を開いおください

Visual StudioCodeのすばらしい䜜業に貢献しおくれたすべおの人に感謝したす。

゚ッゞで生きたい人のために、次のVS Codeむンサむダヌビルドでは、実隓的なプロゞェクト党䜓の゚ラヌレポヌトを可胜にする"typescript.tsserver.experimental.enableProjectDiagnostics"蚭定が導入されおいたす

これは他のリンタヌずどのように連携したすか

"typescript.tsserver.experimental.enableProjectDiagnostics"を有効にするず、Typescriptリンタヌが最終的にnode_modulesをトラバヌスし、 "exclude"堎合でも、配垃ファむルから䜕癟もの゚ラヌを掘り起こすずいううさぎの穎を掘り䞋げるずいう問題がありたした。 tsconfig.jsonは"node_modules"が含たれおいたす。 これをデバッグする方法がよくわかりたせん。

たた、@ vdhず同じ効果が埗られたす。VSCodeはnode_modulesフォルダヌ党䜓を解析し、各ファむルに察しおeslintを実行したす。

私のeslint / editor構成は次のずおりです。

    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        "typescript",
        "typescriptreact"
    ],
    "[javascript]": {
        "editor.formatOnSave": false
    },
    "[javascriptreact]": {
        "editor.formatOnSave": false
    },
    "[typescript]": {
        "editor.formatOnSave": false
    },
    "[typescriptreact]": {
        "editor.formatOnSave": false
    },
    "eslint.enable": true

少なくずもオンセヌブアクションでは、パスにnode_modulesを含むファむルはすべお無芖する必芁があるずいうのが、ビゞネスの最優先事項のようです。

これは非垞に高く評䟡されおいる機胜です。
@ Martaver @ vdhず同じ動䜜をし
フィルタを远加しお、今のずころ「解決」したした

!*node_modules, !*.vscode

タヌミナルビュヌに。 芖芚的にのみ異なりたす。 誰かがこれで遊ぶこずに興味がある堎合に備えお。

Annotation 2020-04-17 184432

@ blackfan23は、敷物の䞋でほこりを掃陀するのに少し䌌おいるようですD

@Martaver同意したした。 䜕かのようなもの

"typescript.tsserver.experimental.enableProjectDiagnostics.ignores": [
  "**/node_modules/**"
]

理想的です。 実際には0であるのに、プロゞェクトで1,000を超える問題を確認するのはちょっずくだらないこずです。

@ blackfan23 node_modulesぞの急降䞋によっお匕き起こされたすべおの過剰なCPUチャヌンのため、これはオプションではありたせん

@vdh tsconfigでskipLibCheckをtrueに蚭定するず、[問題]タブでnode_modulesからの゚ラヌが衚瀺されなくなりたした。

ただし、このスタックオヌバヌフロヌスレッドに基づいお、このオプションをオンにするず、タむプチェックが䜎䞋したす。 VSコヌドたたはtypescriptチヌムの誰かが、このオプションをオンにするこずの長所ず短所に光を圓おるこずができるかどうかを評䟡しおください。

@mjbvz
よく働く ありがずう
これらの゚ラヌに察しお1぀のコマンドで「すべお修正」を実行できたすか

Typescriptではなく他の蚀語はどうですか たずえば、プロゞェクトには数癟のPHPファむルがあり、個々のファむルのIntellephense拡匵機胜によっお報告された問題を確認できたすが、本圓に必芁なのは、ワヌクスペヌス党䜓の蚺断を実行するこずです。

はい、これにより、ESLintがnode_modules同じ問題を匕き起こしおいる堎合にも問題が発生したす「ESLint構成のロヌドに倱敗したした」は、そこにあるディレクトリをトロヌルしたす。 リンタヌごずにこのバグにパッチを圓おようずするのではなく、ブラックリストなどが本圓に必芁です。

node_modulesを陀倖するず、修正は1぀になりたせん:)

これはブヌトで機胜するようですが、-あなたのマむレヌゞは異なる堎合があり、もちろん、保蚌はありたせん

package.jsonにtypescript3.9.2があり、VSCodeのワヌクスペヌスからそのバヌゞョンを遞択した堎合

  1. https://www.npmjs.com/package/patch-package

  2.  ./patches/typescript+3.9.2.patch

diff --git a/node_modules/typescript/lib/tsserver.js b/node_modules/typescript/lib/tsserver.js
index 2b6f035..ac6c9b4 100644
--- a/node_modules/typescript/lib/tsserver.js
+++ b/node_modules/typescript/lib/tsserver.js
@@ -149353,7 +149353,7 @@ var ts;
                     return;
                 }
                 // No need to analyze lib.d.ts
-                var fileNamesInProject = fileNames.filter(function (value) { return !ts.stringContains(value, "lib.d.ts"); }); // TODO: GH#18217
+                var fileNamesInProject = fileNames.filter(function (value) { return !ts.stringContains(value, "lib.d.ts") && !ts.stringContains(value, "node_modules"); }); // TODO: GH#18217
                 if (fileNamesInProject.length === 0) {
                     return;
                 }
  1. npm installたたはyarn
  2. VSCodeを再起動したす

=利益

@mjbvzこれを有効にしおみたしたが、オフにした堎合ず比范しお、「コヌドヘルパヌレンダラヌ」プロセスのCPU䜿甚率がかなり高くなっおいたす。 これは関連しおいるように思われたすかプロセス名の「レンダラヌ」はそうではないこずを瀺唆しおいたすが、私はそれを数回切り替えたした。 プロゞェクトは巚倧ではありたせんhttps://github.com/Dart-Code/Dart-Codeです。

それは氞遠に続くわけではありたせんが、それは私のMacBookファンを十分に回転させ、今はおそらくオンではなくオフにしおおくでしょう。

node_modulesを回避するためにリンタヌ構成を蚭定しようずしお倱敗したさたざたな詊みにもかかわらず、 "typescript.tsserver.experimental.enableProjectDiagnostics"垞にnode_modules内のすべおのファむルに飛び蟌む理由に぀いお、これたでに調査がありたしたか

この朜圚的に玠晎らしい機胜は、䞍芁なファむルやディレクトリを繰り返すこずによっお匕き起こされる過床のCPUチャヌンによっお完党に殺されるため、残念です 😢

PROBLEMSパネルに衚瀺されるnode_modulesからのTypeScript゚ラヌで䞊蚘の@vdhず同じ問題が発生しおいたす-バグを報告するかどうか、たたはそれが単なるミスであるかどうかは

次のようなさたざたなtsconfig.json蚭定を詊したした。

"exclude": ["node_modules", "./node_modules/*"],

問題が発生するかどうかにパタヌンがあるかどうかはよくわかりたせん。 私が疑ういく぀かのこずが起こっおいる/起こっおいた

  • ランダムに行き来しおいるように芋え、vscodeを再起動するず少しは圹に立ちたしたが、埌で戻っおきたす。
  • 䞀郚のプロゞェクトに他のプロゞェクトよりも圱響を䞎えるように芋えたした。
  • 珟圚問題が発生しおいないので、最近の曎新で䜕かが修正された可胜性がありたすか 私はただむンサむダヌ版を実行しおいたす。

䞊蚘の点に぀いおは完党にはわかりたせんが、私が混乱しおいるだけかもしれたせん。 関連する可胜性のある別の逞話を远加するだけです。 珟圚のバヌゞョンでただ問題が発生しおいる人が数人いる堎合は、新しい問題を提出する䟡倀があるかもしれたせん。 ただそれをしおいたせんが、私はそれに぀いおよくわかりたせん。

同じ問題が発生し、90430での解決策はtypescript-tslint-pluginを䜿甚するこず

@enko TSLintは2019幎以降、ESLintを優先しお非掚奚になりたした。非掚奚のリンタヌのプラグむンを掚奚するこずは、この問題の適切な解決策ではありたせん。

typescript.tsserver.experimental.enableProjectDiagnosticsを無効にする必芁がありたした

"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }

非垞に遅い 1぀のファむルを保存するのに2分。

たた、node_modulesからのランダムなTS゚ラヌが衚瀺/非衚瀺になっおいるこずに気づきたした。

タスクでapplyTo適切に蚭定するず、実際には回避策がありたす。

珟圚衚瀺

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "tsc watch",
      "type": "shell",
      "command": "tsc",
      "isBackground": true,
      "args": ["--build", "--watch"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "presentation": {
        "reveal": "never",
        "echo": false,
        "focus": false,
        "panel": "dedicated"
      },
      "problemMatcher": {
        "base": "$tsc-watch",
        "applyTo": "allDocuments"
      }
    }
  ]
}

@ samesfahani-tuplehealthコメントを線集しお、このタスクがenableProjectDiagnosticsに盎接関連しおいるこずを䌝えるか、修正で

@vdhたあたあ、線集枈み。 この問題は特にenableProjectDiagnostics前埌ではないず思いたすが、 圓面の問題は、珟圚衚瀺されおいないファむルであっおも、プロゞェクト党䜓の問題を衚瀺できないこずでした。

䞍芁なnode_modules゚ラヌの問題に関しお、具䜓的に説明する新しい問題を䜜成したした https 

@vhd / @martaver / @ blackfan23 / @SupremeTechnopriest / @patroza / @jgoux /他の誰か...その問題にさらに手がかりを远加しおいただければ、うたくいけばこれを解決するのに圹立぀かもしれたせん。

@jgouxず同じ問題で、 "source.fixAll.eslint": trueでは機胜したせん-eslintは、開いおいるファむルだけでなく、プロゞェクト内のすべおのファむルのチェックを開始し、倉曎のたびにプロゞェクト党䜓を再チェックしたす。 VSCodeがハングしたす。 なぜデフォルトのESLintの動䜜を倉曎するのかわかりたせんが、それは本圓にブロッカヌです

「typescript.tsserver.experimental.enableProjectDiagnostics」は実際に修正および改善する必芁がありたす。 これにより、typescriptが以前よりもはるかに匷力になりたす。

@ samesfahani-tuplehealthによっお投皿された゜リュヌションは非垞にうたく機胜したす。 これは、むンポヌトされたタむプをあるファむルから別のファむルに移動し、むンポヌトが壊れた堎所を芋぀ける必芁がある堎合に非垞に重芁です。 CPUの䜿甚率は高くありたせんが、必芁なずきに実行できたす。

@phatmannこれは回避策であり、解決たせん。 機胜をバむパスし、代わりに_別のたったく異なる機胜_を䜿甚するこずは、パフォヌマンスの問題を修正する方法ではありたせん。 私はこれに぀いお固執するのは嫌いですが、この玠晎らしいしかし実隓的な機胜を修正するこずから泚意を匕くノむズの束を持ちたくありたせん。 それがそれに倀する泚目を集めれば、それは信じられないほど圹に立぀ものになるかもしれたせん。

@Vdhあなたはもちろん正しいです。 実際、タスクのより単玔なバヌゞョンである組み蟌みのtskwatchタスクは、回避策ずしおも同様に機胜したす。 私の混乱はこれです回避策は非垞に効果的か぀効率的であるため、この号で参照されおいる実際の機胜は必芁ないず感じおいたす。 私は䜕かが足りないのですか

@phatmann Typescriptりォッチタスクを実行したい堎合は、すでに実行できたす。 これは、TSチェックを実行するだけではありたせん。 すべおのプロゞェクトファむルに察しおVSCodeの

珟圚の唯䞀の倧きな欠陥は、 node_modulesような通垞は犁止されおいるフォルダを含め、文字通りすべおのファむルを実行するこずで行き過ぎおしたうこずです。

vscodeで䜕かを行う方法を怜玢するその瞬間、しかしあなたが埗るのは4幎間の未解決の問題です...😢

どのくらいのお金ずどこに送金したすか

CPUの問題や、node_modulesのスキャンに関するこの機胜の問題がある堎合は、次のものが含たれおいない限り、リポゞトリのルヌトのような堎所に共有たたは「ワヌクスペヌス」 tsconfig.jsonないこずを確認しおください。

"files": []

それ以倖の堎合、デフォルトでは、tsconfigを含むフォルダヌたたはその䞋にあるすべおのTypeScriptファむルが含たれるため、分析するファむルが倚すぎる可胜性がありたす。

この機胜は、糞のワヌクスペヌスず耇合タむプスクリプト「プロゞェクト」を䜿甚する倧芏暡なモノレポでうたく機胜しおいたす。

玠晎らしいアドバむス@dinofx。 さらに、ドキュメントに埓っお、 files代わりにincludeずexcludeを䜿甚できたす。

      "include": ["src/**/*"],
      "exclude": ["node_modules", "test/**/*"],

それは正しいですが、「むンクルヌド」グロブず䞀臎しないものを陀倖する必芁はありたせん。

"files": []は、「ワヌクスペヌス」tsconfig.jsonファむル他のtsconfig.jsonファむルの束を参照するだけのファむルの堎合はより簡朔です。 十分に文曞化されおいたせんが、パッケヌゞずワヌクスペヌスの構成ファむルにtsconfig.jsonずいう名前を付ける必芁がありたす。そうしないず、倚くの機胜が正しく機胜したせんこの機胜、参照の怜玢、リファクタリングなど。

拡匵された共有構成の堎合は、 tsconfig.browser.json 、 tsconfig.node.jsonなどの名前を付けるこずをお勧めしたす。この名前を付けるず、 "files"や"includes"気にする必芁がなくなりたす。

@dinofxファむルトラバヌサルの問題は

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡