בדוק את קובץ תצורות ההפעלה
- 11 דקות
כבר ראית ש- Visual Studio Code משתמש בקובץ ה- launch.json כדי לקבוע את תצורת מאתר הבאגים. אם אתה יוצר יישום מסוף C# פשוט, ייתכן ש- Visual Studio Code יוצר קובץ launch.json הכולל את כל המידע הדרוש לך כדי לאתר בהצלחה את הקוד שלך. עם זאת, יש מקרים שבהם עליך לשנות תצורת הפעלה, ולכן חשוב להבין את התכונות של תצורת הפעלה.
תכונות של תצורת הפעלה
קובץ launch.json כולל תצורות הפעלה אחד או יותר configurations ברשימה. תצורות ההפעלה משתמשות בתכונות כדי לתמוך בתרחישים שונים של איתור באגים. התכונות הבאות הכרחיות עבור כל תצורת הפעלה:
-
name: השם הידידותי לקורא שהוקצה לתצורות ההפעלה. -
type: סוג מאתר הבאגים לשימוש עבור תצורת ההפעלה. -
request: סוג הבקשה של תצורת ההפעלה.
מקטע זה מגדיר כמה מהתכונות שבהן אתה עשוי להיתקל.
שם
התכונה name מציינת את שם התצוגה עבור תצורת ההפעלה. הערך שהוקצה לו name מופיע ברשימה הנפתחת של תצורות ההפעלה (בלוח הפקדים בחלק העליון של התצוגה RUN AND DEBUG).
סוג
התכונה type מציינת את סוג מאתר הבאגים לשימוש עבור תצורת ההפעלה. ערך של codeclr מציין את סוג המנפה עבור יישומי .NET 5+ (כולל יישומי C#).
בקשה
התכונה request מציינת את סוג הבקשה עבור תצורת ההפעלה. בשלב זה, הערכים נתמכים launchattach .
PreLaunchTask
התכונה preLaunchTask מציינת משימה להפעלה לפני איתור באגים בתוכנית. ניתן למצוא את המשימה עצמה בקובץ tasks.json, שנמצא בתיקיה .vscode יחד עם הקובץ launch.json הקובץ. ציון משימה של הפעלה מראש של הפעלת build פקודה dotnet build לפני הפעלת היישום.
תוכנית
התכונה program מוגדרת לנתיב של קובץ ההפעלה dll של היישום או .NET host להשפעה.
מאפיין זה בדרך כלל מקבל את הטופס: ${workspaceFolder}/bin/Debug/<target-framework>/<project-name.dll>.
איפה:
-
<target-framework>היא המסגרת שבה נבנה פרוייקט איתור הבאגים. ערך זה נמצא בדרך כלל בקובץ הפרוייקט כמאפיין 'TargetFramework'. -
<project-name.dll>הוא השם של קובץ dll של פלט Build של פרוייקט מנותק. מאפיין זה זהה בדרך כלל לשם הקובץ של הפרוייקט, אך עם סיומת '.dll' .
לדוגמה: ${workspaceFolder}/bin/Debug/net10.0/Debug101.dll
הערה
סיומת.dll מציינת שקובץ זה הוא קובץ ספריית קישור דינאמי (dll). אם הפרוייקט שלך נקרא איתור באגים101, קובץ בשם Debug101.dll נוצר כאשר משימת Build מבצעת קומפילציה של התוכנית שלך באמצעות קבצי Program.cs ו- Debug101.csproj. אתה יכול למצוא את קובץ ה-Debug101.dll בתצוגת EXPLORER על ידי הרחבת תיקיות "bin" ו-"Debug", ואז פתיחת תיקייה שמייצגת את מסגרת .NET שבה משתמשים פרויקט הקוד שלך, כמו "net10.0". גירסת .NET Framework צוינה בקובץ ה- .csproj שלך.
Cwd
התכונה cwd מציינת את ספריית העבודה של תהליך היעד.
ארגומנטים (ארגומנטים)
התכונה args מציינת את הארגומנטים שהועברו לתוכנית בעת ההפעלה. אין ארגומנטים כברירת מחדל.
מסוף
התכונה console מציינת את סוג המסוף המשמש בעת הפעלת היישום. האפשרויות הן internalConsole, ו integratedTerminal- externalTerminal. הגדרת ברירת המחדל היא internalConsole. סוגי המסוף מוגדרים כ:
- ההגדרה
internalConsoleתואמת לחלונית מסוף איתור הבאגים באזור הלוחות מתחת לעורך קוד Visual Studio. - ההגדרה
integratedTerminalתואמת לחלונית פלט באזור לוחות מתחת עורך קוד Visual Studio. - ההגדרה
externalTerminalתואמת לחלון מסוף חיצוני. יישום שורת הפקודה המצורף ל- Windows הוא דוגמה לחלון מסוף.
חשוב
החלונית 'מסוף איתור באגים' אינה תומכת בקלט של המסוף. לדוגמה, לא ניתן להשתמש במסוף איתור הבאגים אם היישום כולל Console.ReadLine() משפט. כאשר אתה עובד על יישום מסוף C# שמקריא קלט של משתמש, console יש להגדיר את ההגדרה ל integratedTerminal - או ל- externalTerminal. יישומי מסוף שכותבים לקונסולה, אך אינם קוראים קלט מהקונסולה, יכולים להשתמש בכל אחת משלוש console ההגדרות.
עצור בערך
אם עליך לעצור בנקודת הכניסה של היעד, באפשרותך גם להגדיר stopAtEntry כ- true.
עריכת תצורת הפעלה
קיימים תרחישים רבים שבהם ייתכן שיהיה עליך להתאים אישית את קובץ התצורה של ההפעלה. רבים מתרחישים אלה כוללים תרחישי פרוייקט מתקדמים או מורכבים. מודול זה מתמקד בשני תרחישים פשוטים בעת עדכון קובץ התצורה של ההפעלה נדרש:
- יישום המסוף של C# מקריא קלט מהקונסולה.
- סביבת העבודה של הפרוייקט שלך כוללת יותר מיישום אחד.
עדכן את תצורת ההפעלה כדי להתאים קלט של המסוף
כפי שקראת קודם לכן, לוח מסוף איתור הבאגים אינו תומך בקלט של המסוף. אם אתה איתור באגים ביישום מסוף ש מסתמך על קלט משתמש, console עליך לעדכן את התכונה בתצורה של ההפעלה המשויכת.
כדי לערוך את console התכונה:
פתח את launch.json בעורך הקוד של Visual Studio.
אתר את תכונת המסוף .
בחר את נקודתיים והערך שהוקצה ולאחר מכן הזן תו נקודתיים.
שים לב כי בעת החלפת המידע הקיים בנקודתיים, Visual Studio Code IntelliSense מציג את שלוש האפשרויות ברשימה נפתחת.
בחר באפשרות משולבתטרמינליאו חיצוני.
שמור את launch.json הקובץ.
עדכן את תצורת ההפעלה כדי להתאים יישומים מרובים
אם לסביבת העבודה שלך יש פרוייקט אחד בלבד הניתן להפעלה, הסיומת C# תפיק באופן אוטומטי launch.json הקובץ. אם יש לך יותר מפרוייקט אחד הניתן להפעלה, עליך לשנות את הקובץ launch.json באופן ידני. Visual Studio Code יוצר קובץ launch.json באמצעות התבנית הבסיסית שניתן לעדכן. בתרחיש זה, אתה יוצר תצורות נפרדות עבור כל יישום שברצונך לאתר באגים. ניתן ליצור פעילויות שהושלמו מראש, כגון משימת build, tasks.json הקובץ.
נניח שאתה עובד על פרוייקט קידוד הכולל כמה יישומי מסוף. תיקיית פרוייקט הבסיס , SpecialProjects, היא תיקיית סביבת העבודה שאתה פותח ב- Visual Studio Code בעת עבודה על הקוד שלך. יש לך שני יישומים שאתה מפתח, Project123 ו- Project456. השתמש בתצוגה הפעל ו- איתור באגים כדי לאתר באגים ביישומים. ברצונך לבחור את היישום שבו אתה מאתר באגים מממשק המשתמש. אתה מעוניין גם לבצע הידור של עדכוני קוד שמורים לפני צירוף מאתר הבאגים ליישום שלך.
באפשרותך להשיג את הדרישות עבור תרחיש זה על-ידי עדכון launch.json הקבצים tasks.json שלך.
צילום המסך הבא מציג את תצוגת EXPLORER ואת מבנה התיקיות המכילים את Project123 ו- Project456.
שים לב כי התיקיה .vscode המכילה את launch.json וקבצי tasks.json משויכים לתיקיה סביבת העבודה, SpecialProjects, ולא לתיקיות הפרוייקט הבודדות.
הדוגמה הבאה מראה כיצד ניתן לקבוע את התצורה launch.json כך שיכלול תצורות הן עבור היישומים "Project123" והן עבור "Project456".
"version": "0.2.0",
"configurations": [
{
"name": "Launch Project123",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "buildProject123",
"program": "${workspaceFolder}/Project123/bin/Debug/net10.0/Project123.dll",
"args": [],
"cwd": "${workspaceFolder}/Project123",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Launch Project456",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "buildProject456",
"program": "${workspaceFolder}/Project456/bin/Debug/net10.0/Project456.dll",
"args": [],
"cwd": "${workspaceFolder}/Project456",
"console": "internalConsole",
"stopAtEntry": false
}
]
שים לב כי כל שדותהשם, preLaunchTaskוהתוכנית מוגדרים עבור יישום ספציפי.
תכונת השם מציינת את אפשרות ההפעלה הניתנת לבחירה המוצגת בממשק המשתמש של תצוגת RUN AND DEBUG, תכונת התוכנית מציינת את הנתיב ליישום שלך. התכונה preLaunchTask משמשת לציון שם המשימה שבוצעה לפני הפעלת מאתר הבאגים. קובץ tasks.json מכיל את המשימות בעלות השם ואת המידע הדרוש להשלמת המשימה.
הדוגמה הבאה מראה כיצד ניתן לקבוע את תצורת tasks.json הקובץ. במקרה זה, הפעילויות בעלות השם מציינות פעולות Build ספציפיות ליישומי "Project123" ו- "Project456". משימת גירסת ה- Build מבטיחה שכל פעולות העריכה שנשמרו ייוצגו בקובץ .dll המתאים המצורף למאתר הבאגים.
"version": "2.0.0",
"tasks": [
{
"label": "buildProject123",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/Project123/Project123.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "buildProject456",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/Project456/Project456.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
}
]
כאשר העדכונים לקבצי launch.json וקבצי tasks.json, התצוגה הפעל ו איתור באגים מציגה אפשרויות הפעלה לאיתור באגים ביישום Project123 או Project456. צילום המסך הבא מציג את השמות של תצורות ההפעלה המוצגות ברשימה הנפתחת של תצורת ההפעלה:
תקציר
להלן שני דברים חשובים שיש לזכור ביחידה זו:
- תצורות הפעלה משמשות לציון תכונות כגון
name, , ,typerequest,preLaunchTaskו-programconsole. - מפתחים יכולים לערוך תצורת הפעלה כדי להתאים לדרישות הפרוייקט.