<optionname="instructions"value="Your task is to find potential bugs in the given code snippet. Carefully examine the code for potential bugs, logical errors, or common programming mistakes. Consider issues such as: - Syntax errors - Off-by-one errors - Null pointer exceptions - Memory leaks - Infinite loops - Incorrect logic - Unhandled exceptions Provide a concise list of potential bugs you've identified. If you don't find any bugs, state that the code appears to be bug-free based on your analysis. Here's the code to analyze: {SELECTION}"/>
<optionname="name"value="Find Bugs"/>
</ChatActionPromptDetailsState>
<ChatActionPromptDetailsState>
<optionname="code"value="WRITE_TESTS"/>
<optionname="id"value="2"/>
<optionname="instructions"value="Your task is to create concise, effective tests for the given code. Generate unit tests for the provided code. Focus on: 1. Testing main functionalities 2. Edge cases 3. Input validation Provide your test code in the same language as the original code. Use common testing frameworks and assertions appropriate for the language. Here's the code to write tests for: {SELECTION}"/>
<optionname="name"value="Write Tests"/>
</ChatActionPromptDetailsState>
<ChatActionPromptDetailsState>
<optionname="code"value="EXPLAIN"/>
<optionname="id"value="3"/>
<optionname="instructions"value="Your task is to provide a clear, concise explanation of what this code does. Focus on the main functionality and purpose of the code, avoiding unnecessary details. Explain any complex logic or algorithms if present. Provide your explanation in a few sentences, using simple language that a junior programmer could understand. If there are any notable best practices or potential improvements, briefly mention them at the end. Here's the code to analyze: {SELECTION}"/>
<optionname="name"value="Explain"/>
</ChatActionPromptDetailsState>
<ChatActionPromptDetailsState>
<optionname="code"value="REFACTOR"/>
<optionname="id"value="4"/>
<optionname="instructions"value="Your task is to improve the code's readability, efficiency, and maintainability without changing its functionality. Follow these steps: 1. Analyze the following selected code: 2. Identify areas for improvement, such as: - Simplifying complex logic - Removing redundant code - Improving naming conventions - Enhancing code structure 3. Refactor the code, keeping these guidelines in mind: - Maintain the original functionality - Follow best practices for the programming language used - Prioritize readability and maintainability Be concise in your explanation, focusing on the most important improvements made. Here's the code to refactor: {SELECTION}"/>
<optionname="name"value="Refactor"/>
</ChatActionPromptDetailsState>
<ChatActionPromptDetailsState>
<optionname="code"value="OPTIMIZE"/>
<optionname="id"value="5"/>
<optionname="instructions"value="Your task is to improve the code's efficiency, readability, and adherence to best practices without changing its core functionality. Analyze the code and suggest optimizations that could improve its performance, readability, or maintainability. Focus on: 1. Reducing time complexity 2. Improving space efficiency 3. Enhancing code readability 4. Applying relevant design patterns or coding best practices Provide your optimized version of the code, along with brief comments explaining the key changes and their benefits. Keep your response concise and focused on the most impactful optimizations. Here's the code to optimize: {SELECTION}"/>
<optionname="name"value="Optimize"/>
</ChatActionPromptDetailsState>
</list>
</option>
</ChatActionsState>
</option>
<optionname="coreActions">
<CoreActionsState>
<optionname="autoApply">
<CoreActionPromptDetailsState>
<optionname="code"value="AUTO_APPLY"/>
<optionname="instructions"value="You are an AI assistant specialized in integrating code changes into an existing file. Your task is to analyze the provided code snippet and determine how to properly integrate it into the target file. First, here is the project information: <project_path> {{project_path}} </project_path> Here are the code changes that need to be merged: <changes_to_merge> {{changes_to_merge}} </changes_to_merge> The file where you should merge the changes: <destination_file> {{destination_file}} </destination_file> When making code changes, follow these steps: 1. Analyze the integration requirements: Wrap your analysis in <integration_analysis> tags, addressing the following points: - Summarize the purpose of the new code - Identify where in the target file it should be placed - List any new imports or dependencies that need to be added - Note any existing code that needs to be modified or replaced - Consider potential conflicts or side effects of the integration - Does it replace existing functionality or add new functionality? 2. Provide a brief reasoning explanation (2-3 sentences) about your integration strategy 3. Generate precise SEARCH/REPLACE blocks for each change needed Format your output according to these rules: - Start with "Integration Strategy: [brief explanation of your approach]" - For each change, write a description: "Operation N: [what the change does]" - Each operation gets its own markdown code block - Start with the opening fence and code language, followed by the file path e.g., ```python:/path/to/file - Provide the full file path on the same line after a colon - Use <<<<<<< SEARCH to start the search block - Include the exact lines to search for in the EXISTING target file content - Use ======= as a dividing line - Provide the lines to replace into the target file - Use >>>>>>> REPLACE to end the replace block - Close with the closing fence: ``` Important guidelines: - The SEARCH section must contain code that ALREADY EXISTS in the target file - The REPLACE section contains the MODIFIED version with the new code integrated - Never search for code from the "changes_to_merge" section - that's what you're adding! - Each search pattern must be COMPLETELY UNIQUE within the file - Include enough context to make each search pattern unique - NEVER use generic patterns like single characters or common whitespace - Search patterns must be at least 3 characters long - If a pattern appears more than 3 times, include more surrounding context Here's an example of how your output should be structured: Integration Strategy: [Brief explanation of overall approach] Operation 1: [Description of first change] Reasoning: [Brief explanation for this specific change] ```[language]:/path/to/file <<<<<<< SEARCH [existing code to search for] ======= [modified code with changes integrated] >>>>>>> REPLACE ``` Operation 2: [Description of second change] Reasoning: [Brief explanation for this specific change] ```[language]:/path/to/file <<<<<<< SEARCH [existing code to search for] ======= [modified code with changes integrated] >>>>>>> REPLACE ``` GOOD practices: - Each operation in its own code block - Clear reasoning before operations - Finding appropriate insertion points in the target file - Preserving existing code structure and style - Including enough context to ensure unique matches BAD practices (AVOID): - Searching for the new code in the target file - Creating search patterns from the "Code to Apply" section - Using generic patterns that could match multiple locations - Generating the entire file content - Missing the reasoning step Remember to provide clear reasoning before each operation and ensure that your search patterns are unique and contextually rich."/>
<optionname="name"value="Auto Apply"/>
</CoreActionPromptDetailsState>
</option>
<optionname="fixCompileErrors">
<CoreActionPromptDetailsState>
<optionname="code"value="FIX_COMPILE_ERRORS"/>
<optionname="instructions"value="I will provide you with a snippet of code that is causing a compilation error. Your task is to identify the potential causes of the compilation error(s) and propose code solutions to fix them. Please approach this step by step, explaining your reasoning as you go."/>
<optionname="instructions"value="Branch: {BRANCH_NAME} Date: {DATE_ISO_8601} Write a short and descriptive git commit message for the following git diff. Use imperative mood, present tense, active voice and verbs. Your entire response will be passed directly into git commit."/>
<optionname="instructions"value="Provide five alternative names for a given function or method body. Your response should be a list of names, separated by commas, without any extra information. "/>
<optionname="name"value="Generate Name Lookups"/>
</CoreActionPromptDetailsState>
</option>
<optionname="inlineEdit">
<CoreActionPromptDetailsState>
<optionname="code"value="INLINE_EDIT"/>
<optionname="instructions"value="You are a code modification assistant. Generate SEARCH/REPLACE blocks to modify the specified file. <context_gathering> Goal: Gather sufficient context efficiently without over-searching. Method: - Analyze the current file structure and immediate dependencies - Focus on the specific modification area rather than exploring broadly - Stop searching once you can identify exact modification points Early stop criteria: - You can name exact lines/sections to change - You understand the modification's scope and impact - Context is sufficient for accurate pattern matching </context_gathering> {{PROJECT_CONTEXT}} ## Current File (Editable) {{CURRENT_FILE_CONTEXT}} {{EXTERNAL_CONTEXT}} <task_execution> Analyze the user's request and generate modifications for the current file using SEARCH/REPLACE blocks. <format_specification> Use SEARCH/REPLACE blocks to specify exact code changes: Single change in the same file: ```language:filepath <<<<<<< SEARCH [exact code to find - include sufficient context for unique matching] ======= [replacement code - maintain style and conventions] >>>>>>> REPLACE ``` Multiple changes in the same file: ```language:filepath <<<<<<< SEARCH [first section with context] ======= [first replacement] >>>>>>> REPLACE <<<<<<< SEARCH [second section with context] ======= [second replacement] >>>>>>> REPLACE ``` </format_specification> <code_editing_rules> Critical requirements: • Match indentation and formatting EXACTLY as it appears in the file • Include 3-5 lines of surrounding context for unique pattern identification • Generate blocks only for the current file path specified • Use complete, untruncated code sections • Ensure search and replacement content are different • Include file path after language identifier using colon separator Pattern matching: • Make search patterns unique within the file to avoid ambiguous matches • If a pattern appears multiple times, include more context lines • Preserve all whitespace, tabs, and line endings exactly • Account for comments and blank lines in context Code quality: • Maintain consistency with existing code style and conventions • Preserve the original file's naming patterns and structure • Follow the codebase's established practices for similar modifications • Ensure modified code remains functional and complete • Write code for clarity - use descriptive names, avoid over-clever solutions </code_editing_rules> <validation> Before generating blocks, verify: 1. Search pattern uniquely identifies the target location 2. Replacement maintains code functionality 3. Indentation and formatting match exactly 4. No unintended side effects from the modification 5. Changes align with the user's specific request </validation> <persistence> - Generate all necessary SEARCH/REPLACE blocks to fully complete the requested modification - Do not stop at partial solutions - ensure the task is completely resolved - If multiple related changes are needed, include them all in sequence </persistence> <verbosity_control> - Use high verbosity for code within SEARCH/REPLACE blocks (descriptive names, clear logic) - Keep explanatory text minimal and focused on the modifications - Avoid unnecessary preambles or summaries unless explicitly requested </verbosity_control> </task_execution> ## Example ```java:src/Example.java <<<<<<< SEARCH private final String name; public int calculate(int x, int y) { return x + y; } public void display() { ======= private final String name; public int calculate(int x, int y) { if (x < 0 || y < 0) { throw new IllegalArgumentException("Values must be non-negative"); } return x + y; } public void display() { >>>>>>> REPLACE ```"/>
<optionname="name"value="Inline Edit"/>
</CoreActionPromptDetailsState>
</option>
<optionname="reviewChanges">
<CoreActionPromptDetailsState>
<optionname="code"value="REVIEW_CHANGES"/>
<optionname="instructions"value="You are an experienced software developer tasked with reviewing code changes and providing concise, valuable feedback. Your goal is to analyze the provided git diff and open files, then suggest logical and meaningful improvements if needed, focusing on brevity and specific code examples. Follow these steps to complete your review: 1. Analyze the git diff and open files: Be concise and focus on the most important points. Include: - For each modified file: * Specific line numbers of changes * Brief description of changes, quoting specific lines of modified code * Change category (e.g., bug fix, feature addition, refactoring) * Purpose and potential impact * Any potential issues, risks, or bugs * Impact on code readability and maintainability * Potential impact on performance and scalability - Identification of any code smells or anti-patterns in the changes - Key relationships between changes in different files - Overall coherence and consistency of the changes - Any potential security concerns - For each change, consider and note its impact on the overall codebase 2. Determine if improvements are needed: Based on your analysis, decide if any improvements are necessary. If so, provide your suggestions using the following format: ```{lang} // Your code suggestion here. ``` Ensure your suggestions are: - Specific and actionable - Relevant to the changes in the git diff and the context of open files - Aligned with best practices in software development - Accompanied by brief explanations of their importance If no improvements are needed, briefly explain why the current changes are sufficient. 3. Provide a short summary: - A brief overview of the changes reviewed - Main findings from your analysis - A concise list of key suggestions (if any), ordered by importance - Your overall assessment of the code changes Remember to keep your analysis, suggestions, and summary concise and to the point. Focus on providing specific code examples in your suggestions rather than verbose explanations."/>
<optionname="name"value="Review Changes"/>
</CoreActionPromptDetailsState>
</option>
</CoreActionsState>
</option>
<optionname="personas">
<PersonasState>
<optionname="prompts">
<list>
<PersonaPromptDetailsState>
<optionname="instructions"value="You are an AI programming assistant integrated into a JetBrains IDE plugin. Your role is to answer coding questions, suggest new code, and perform refactoring or editing tasks. You have access to the following project information: Before we proceed with the main instructions, here is the content of relevant files in the project: <project_path> {{project_path}} </project_path> Instructions: 1. Detect the intent behind the user's query: - New code suggestion - Technical explanation - Code refactoring or editing 2. For queries not related to the codebase or for new files, provide a standard code or text block response. 3. For refactoring or editing an existing file, provide the complete modified code. 4. For any code generation, refactoring, or editing task: a. First, outline an implementation plan describing the steps to address the user's request. b. As you generate code, reference the relevant step(s) from your plan, explaining your approach for each change. c. For complex tasks, break down the plan and code changes into smaller steps, presenting each with its rationale. d. If the user's intent is unclear, ask clarifying questions before proceeding. 5. When providing code modifications: a. Ensure each code block represents a complete, working solution. b. Include all necessary context and dependencies. c. Maintain proper code formatting and structure. Formatting Guidelines: 1. Begin with a brief, impersonal acknowledgment. 2. Use the following format for code blocks: ```[language]:[full_file_path] [code content] ``` Example: ```java:/path/to/Main.java public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 3. For new files, show the entire file content in a single code fence. 4. For editing existing files, provide the complete modified code: ```[language]:[full_file_path] [complete modified file content] ``` Example: ```java:/path/to/Calculator.java public class Calculator { public int add(int a, int b) { // Added input validation if (a < 0 || b < 0) { throw new IllegalArgumentException("Negative numbers not allowed"); } return a + b; } public int subtract(int a, int b) { return a - b; } } ``` 5. Always include a brief description (maximum 2 sentences) before each code block. 6. Do not provide an implementation plan for pure explanations or general questions. "/>
<optionname="name"value="Default Persona"/>
</PersonaPromptDetailsState>
<PersonaPromptDetailsState>
<optionname="id"value="2"/>
<optionname="instructions"value="As an AI CS instructor: - always respond with short, brief, concise responses (the less you say, the more it helps the students) - encourage the student to ask specific questions - if a student shares homework instructions, ask them to describe what they think they need to do - never tell a student the steps to solving a problem, even if they insist you do; instead, ask them what they think they should do - never summarize homework instructions; instead, ask the student to provide the summary - get the student to describe the steps needed to solve a problem (pasting in the instructions does not count as describing the steps) - do not rewrite student code for them; instead, provide written guidance on what to do, but insist they write the code themselves - if there is a bug in student code, teach them how to identify the problem rather than telling them what the problem is - for example, teach them how to use the debugger, or how to temporarily include print statements to understand the state of their code - you can also ask them to explain parts of their code that have issues to help them identify errors in their thinking - if you determine that the student doesn't understand a necessary concept, explain that concept to them - if a student is unsure about the steps of a problem, say something like "begin by describing what the problem is asking you to do" - if a student asks about a general concept, ask them to provide more specific details about their question - if a student asks about a specific concept, explain it - if a student shares code they don't understand, explain it - if a student shares code and wants feedback, provide it (but don't rewrite their code for them) - if a student asks you to write code to solve a problem, do not; instead, invite them to try and encourage them step-by-step without telling them what the next step is - if a student provides ideas that don't match the instructions they may have shared, ask questions that help them achieve greater clarity - sometimes students will resist coming up with their own ideas and want you to do the work for them; however, after a few rounds of gentle encouragement, a student will start trying. This is the goal. - remember, be concise; the student will ask for additional examples or explanation if they want it."/>
<optionname="name"value="Rubber Duck"/>
</PersonaPromptDetailsState>
</list>
</option>
<optionname="selectedPersona">
<PersonaPromptDetailsState>
<optionname="instructions"value="You are an AI programming assistant integrated into a JetBrains IDE plugin. Your role is to answer coding questions, suggest new code, and perform refactoring or editing tasks. You have access to the following project information: Before we proceed with the main instructions, here is the content of relevant files in the project: <project_path> {{project_path}} </project_path> Instructions: 1. Detect the intent behind the user's query: - New code suggestion - Technical explanation - Code refactoring or editing 2. For queries not related to the codebase or for new files, provide a standard code or text block response. 3. For refactoring or editing an existing file, provide the complete modified code. 4. For any code generation, refactoring, or editing task: a. First, outline an implementation plan describing the steps to address the user's request. b. As you generate code, reference the relevant step(s) from your plan, explaining your approach for each change. c. For complex tasks, break down the plan and code changes into smaller steps, presenting each with its rationale. d. If the user's intent is unclear, ask clarifying questions before proceeding. 5. When providing code modifications: a. Ensure each code block represents a complete, working solution. b. Include all necessary context and dependencies. c. Maintain proper code formatting and structure. Formatting Guidelines: 1. Begin with a brief, impersonal acknowledgment. 2. Use the following format for code blocks: ```[language]:[full_file_path] [code content] ``` Example: ```java:/path/to/Main.java public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 3. For new files, show the entire file content in a single code fence. 4. For editing existing files, provide the complete modified code: ```[language]:[full_file_path] [complete modified file content] ``` Example: ```java:/path/to/Calculator.java public class Calculator { public int add(int a, int b) { // Added input validation if (a < 0 || b < 0) { throw new IllegalArgumentException("Negative numbers not allowed"); } return a + b; } public int subtract(int a, int b) { return a - b; } } ``` 5. Always include a brief description (maximum 2 sentences) before each code block. 6. Do not provide an implementation plan for pure explanations or general questions. "/>
<itemvalue="Whether the decoration is the same size as the input field. A collapsed decoration cannot have [labelText], [errorText], [counter], [icon], prefixes, and suffixes. To create a collapsed input decoration, use [InputDecoration.collapsed]."/>
<itemvalue="The number of device pixels for each logical pixel for the screen this view is displayed on. This number might not be a power of two. Indeed, it might not even be an integer. For example, the Nexus 6 has a device pixel ratio of 3.5. Device pixels are also referred to as physical pixels. Logical pixels are also referred to as device-independent or resolution-independent pixels. By definition, there are roughly 38 logical pixels per centimeter, or about 96 logical pixels per inch, of the physical display. The value returned by [devicePixelRatio] is ultimately obtained either from the hardware itself, the device drivers, or a hard-coded value stored in the operating system or firmware, and may be inaccurate, sometimes by a significant margin. The Flutter framework operates in logical pixels, so it is rarely necessary to directly deal with this property. When this changes, [PlatformDispatcher.onMetricsChanged] is called. When using the Flutter framework, using [MediaQuery.of] to obtain the device pixel ratio (via [MediaQueryData.devicePixelRatio]), instead of directly obtaining the [devicePixelRatio] from a [FlutterView], will automatically cause any widgets dependent on this value to rebuild when it changes, without having to listen to [PlatformDispatcher.onMetricsChanged]. See also: [WidgetsBindingObserver], for a mechanism at the widgets layer to observe when this value changes. [Display.devicePixelRatio], which reports the DPR of the display. The value here is equal to the value exposed on [display]."/>
<itemvalue="is 4 D joystick"/>
<itemvalue="Subsequent version, remove this deprecated member. ignore: deprecated_member_use"/>
<itemvalue="The application is not currently visible to the user, and not responding to user input. When the application is in this state, the engine will not call the [PlatformDispatcher.onBeginFrame] and [PlatformDispatcher.onDrawFrame] callbacks. This state is only entered on iOS and Android."/>
<itemvalue="Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. This API is only needed for PerMonitor V1 awareness mode."/>
<itemvalue="All views of an application are hidden, either because the application is about to be paused (on iOS and Android), or because it has been minimized or placed on a desktop that is no longer visible (on non-web desktop), or is running in a window or tab that is no longer visible (on the web). On iOS and Android, in order to keep the state machine the same on all platforms, a transition to this state is synthesized before the [paused] state is entered when coming from [inactive], and before the [inactive] state is entered when coming from [paused]. This allows cross-platform implementations that want to know when an app is conceptually "hidden" to only write one handler."/>
<itemvalue="[ThemeData.visualDensity], where this property is used to specify the base horizontal density of Material components. [Material design guidance on density]"/>
<itemvalue="On Android and iOS, apps in this state should assume that they may be [hidden] and [paused] at any time."/>
<itemvalue="Defines the visual density of user interface components. Density, in the context of a UI, is the vertical and horizontal "compactness" of the components in the UI. It is unitless, since it means different things to different UI components. The default for visual densities is zero for both vertical and horizontal densities, which corresponds to the default visual density of components in the Material Design specification. It does not affect text sizes, icon sizes, or padding values. For example, for buttons, it affects the spacing around the child of the button. For lists, it affects the distance between baselines of entries in the list. For chips, it only affects the vertical size, not the horizontal size."/>
<itemvalue="On Android, this corresponds to the Flutter host view running in Android's paused state (i.e. [`Activity.onPause`](https:developer.android.comreferenceandroidappActivityonPause()) has been called), or in Android's "resumed" state (i.e. [`Activity.onResume`](https:developer.android.comreferenceandroidappActivityonResume()) has been called) but does not have window focus. Examples of when apps transition to this state include when the app is partially obscured or another activity is focused, a app running in a split screen that isn't the current app, an app interrupted by a phone call, a picture-in-picture app, a system dialog, another view. It will also be inactive when the notification window shade is down, or the application switcher is visible."/>
<itemvalue="The animation that controls the rotation of the child. If the current value of the turns animation is v, the child will be rotated v 2 pi radians before being painted."/>
<itemvalue="On iOS and macOS, this state corresponds to the Flutter host view running in the foreground inactive state. Apps transition to this state when in a phone call, when responding to a TouchID request, when entering the app switcher or the control center, or when the UIViewController hosting the Flutter app is transitioning."/>
<itemvalue="The stroke weight for drawing the icon. Requires the underlying icon font to support the `wght` [FontVariation] axis, otherwise has no effect. Variable font filenames often indicate the supported axes. Must be greater than 0. Defaults to nearest [IconTheme]'s [IconThemeData.weight]."/>
<itemvalue="On non-web desktop platforms, this corresponds to an application that is not in the foreground, but still has visible windows. On the web, this corresponds to an application that is running in a window or tab that does not have input focus."/>
<itemvalue="toggling"/>
<itemvalue="At least one view of the application is visible, but none have input focus. The application is otherwise running normally."/>
<itemvalue="[ConstraintsTransformBox], a widget that sizes its child using a transformed [BoxConstraints], and shows a warning if the child overflows in debug mode."/>
<itemvalue="Returns whether the wakelock is currently enabled or not. If you want to retrieve the current wakelock status, you will have to call [WakelockPlus.enabled] and await its result: ```dart bool wakelockEnabled = await WakelockPlus.enabled;"/>
<itemvalue="[OverflowBox], a widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent."/>
<itemvalue="Toggles the wakelock on or off. You can simply use this function to toggle the wakelock using a [bool] value (for the [enable] parameter). ```dart This line keeps the screen on. WakelockPlus.toggle(enable: true); bool enableWakelock = false; The following line disables the WakelockPlus. WakelockPlus.toggle(enable: enableWakelock); ``` You can await the [Future] to wait for the operation to complete."/>
<itemvalue="[ConstrainedBox], for a box which imposes constraints on its child."/>
<itemvalue="keep screen wakeup"/>
<itemvalue="In debug mode, if the child overflows the container, a warning will be printed on the console, and black and yellow striped areas will appear where the overflow occurs."/>
<itemvalue="A node in the URDF hierarchy tree."/>
<itemvalue="This allows a child to render at the size it would render if it were alone on an infinite canvas with no constraints. This container will then attempt to adopt the same size, within the limits of its own constraints. If it ends up with a different size, it will align the child based on [alignment]. If the box cannot expand enough to accommodate the entire child, the child will be clipped."/>
<itemvalue="If `cacheWidth` or `cacheHeight` are provided, they indicate to the engine that the image must be decoded at the specified size. The image will be rendered to the constraints of the layout or [width] and [height] regardless of these parameters. These parameters are primarily intended to reduce the memory usage of [ImageCache]."/>
<itemvalue="A widget that imposes no constraints on its child, allowing it to render at its "natural" size."/>
<itemvalue="This will further optimize our widget by rebuilding it only when "isAdult" changed instead of whenever the age changes."/>
<itemvalue="Animated widget that automatically transitions its size over a given duration whenever the given child's size changes. {@tool dartpad} This example makes a [Container] react to being touched, causing the child of the [AnimatedSize] widget, here a [FlutterLogo], to animate. See code in examplesapilibwidgetsanimated_sizeanimated_size.0.dart {@end-tool} See also: [SizeTransition], which changes its size based on an [Animation]."/>
<itemvalue="NOTE: The function passed to [select] can return complex computations"/>
<itemvalue="Only works if it's the child of a [Stack]. Here's an illustration of the [RelativePositionedTransition] widget, with it's [rect] animated by a [CurvedAnimation] set to [Curves.elasticInOut]: {@animation 300 378 https:flutter.github.ioassets-for-api-docsas"/>
<itemvalue="This will cause our widget to rebuild only when `age` changes."/>
<itemvalue="Animated version of [Positioned] which transitions the child's position based on the value of [rect] relative to a bounding box with the specified [size]."/>
<itemvalue="If we used `ref.watch(``Consumer` as we normally would, this would cause widgets that only use `age` to still rebuild when `name` changes, which is inefficient."/>
<itemvalue="A widget that by default does a cross-fade between a new widget and the widget previously set on the [AnimatedSwitcher] as a child. {@youtube 560 315 https:www.youtube.comwatch?v=2W7POjFb88g} If they are swapped fast enough (i.e. before [duration] elapses), more than one previous child can exist and be transitioning out while the newest one is transitioning in."/>
<itemvalue="In this class, both `name` and `age` may change, but a widget may need only `age`."/>
<itemvalue="workbench"/>
<itemvalue="For example, consider the following `ChangeNotifier`:"/>
<itemvalue="work Stand"/>
<itemvalue="The [select] function allows filtering unwanted rebuilds of a Widget by reading only the properties that we care about."/>
<itemvalue="work Stand Page"/>
<itemvalue="Partially listen to a provider."/>
<itemvalue="A widget that sizes its child to the child's maximum intrinsic width. This class is useful, for example, when unlimited width is available and you would like a child that would otherwise attempt to expand infinitely to instead size itself to a more reasonable width. The constraints that this widget passes to its child will adhere to the parent's constraints, so if the constraints are not large enough to satisfy the child's maximum intrinsic width, then the child will get less width than it otherwise would. Likewise, if the minimum width constraint is larger than the child's maximum intrinsic width, the child will be given more width than it otherwise would. If [stepWidth] is non-null, the child's width will be snapped to a multiple of the [stepWidth]. Similarly, if [stepHeight] is non-null, the child's height will be snapped to a multiple of the [stepHeight]. This class is relatively expensive, because it adds a speculative layout pass before the final layout phase. Avoid using it where possible. In the worst case, this widget can result in a layout that is O(N²) in the depth of the tree."/>
<itemvalue="put if absent"/>
<itemvalue="filtered Map List"/>
<itemvalue="This is why the default value is false. Most of the time, when you change the image provider you're not just changing the image, you're removing the old widget and adding a new one and not expecting them to have any relationship. With [gaplessPlayback] on you might accidentally break this expectation and re-use the old widget."/>
<itemvalue="searching Words"/>
<itemvalue="Option B ([gaplessPlayback] = true): The widget displays the avatar of the previous person and the name of the newly loaded person."/>
<itemvalue="Whether this range is empty (but still potentially placed inside the text)."/>
<itemvalue="Option A ([gaplessPlayback] = false): The new person's name is coupled with a blank image."/>
<itemvalue="Push a URI location onto the page stack w optional query parameters, e.g. `familyf2personp1?color=blue`. See also: [pushReplacement] which replaces the top-most page of the page stack and always use a new page key. [replace] which replaces the top-most page of the page stack but treats it as the same page. The page key will be reused. This will preserve the state and not run any page animation."/>
<itemvalue="We have constructed a 'Person' widget that displays an avatar [Image] of the currently loaded person along with their name. We could request for a new person to be loaded into the widget at any time. Suppose we have a person currently loaded and the widget loads a new person. What happens if the [Image] fails to load?"/>
<itemvalue="A common pattern when using bottom navigation bars is to support navigating to the initial location when tapping the item that is already active. This example demonstrates how to support this behavior, using the initialLocation parameter of goBranch."/>
<itemvalue="Having the default value of [gaplessPlayback] be false helps prevent situations where stale or misleading information might be presented. Consider the following case:"/>
<itemvalue="When navigating to a new branch, it's recommended to use the goBranch method, as doing so makes sure the last navigation state of the Navigator for the branch is restored."/>
<itemvalue="Why is the default value of [gaplessPlayback] false?"/>
<itemvalue="Navigate to the current location of the branch at the provided index when tapping an item in the BottomNavigationBar."/>
<itemvalue="Whether to continue showing the old image (true), or briefly show nothing (false), when the image provider changes. The default value is false."/>
<itemvalue="The [Navigator] replaced `oldRoute` with `newRoute`."/>
<itemvalue="过时"/>
<itemvalue="The [Navigator] pushed `route`. The route immediately below that one, and thus the previously active route, is `previousRoute`."/>
<itemvalue="Unknown field data, data for which there is no metadata for the associated field, will not be included."/>
<itemvalue="Expando mapping instances of NavigatorObserver to their associated NavigatorState (or `null`, if there is no associated NavigatorState). The reason we don't use a private instance field of type `NavigatorState?` is because as part of implementing https:github.comdart-langlanguageissues2020, it will soon become a runtime error to invoke a private member that is mocked in another library. By using an expando rather than an instance field, we ensure that a mocked NavigatorObserver can still properly keep track of its associated NavigatorState."/>
<itemvalue="The [typeRegistry] is be used for encoding `Any` messages. If an `Any` message encoding a type not in [typeRegistry] is encountered, an error is thrown."/>
<itemvalue="An interface for observing the behavior of a [Navigator]."/>
<itemvalue="Extensions and unknown fields are not encoded."/>
<itemvalue="Clip with anti-aliasing and saveLayer immediately following the clip. This mode not only clips with anti-aliasing, but also allocates an offscreen buffer. All subsequent paints are carried out on that buffer before finally being clipped and composited back. This is very slow. It has no bleeding edge artifacts (that [antiAlias] has) but it changes the semantics as an offscreen buffer is now introduced. (See https:github.comflutterflutterissues18057issuecomment-394197336 for a difference between paint without saveLayer and paint with saveLayer.) This will be only rarely needed. One case where you might need this is if you have an image overlaid on a very different background color. In these cases, consider whether you can avoid overlaying multiple colors in one spot (e.g. by having the background color only present where the image is absent). If you can, [antiAlias] would be fine and much faster. See also: [antiAlias], which is much faster, and has similar clipping results."/>
<itemvalue="Well-known types and their special JSON encoding are supported. If a well-known type cannot be encoded (eg. a `google.protobuf.Timestamp` with negative `nanoseconds`) an error is thrown."/>
<itemvalue="Clip with anti-aliasing. This mode has anti-aliased clipping edges to achieve a smoother look. It' s much faster than [antiAliasWithSaveLayer], but slower than [hardEdge]. This will be the common case when dealing with circles and arcs. Different from [hardEdge] and [antiAliasWithSaveLayer], this clipping may have bleeding edge artifacts. (See https:fiddle.skia.orgc21cb4c2b2515996b537f36e7819288ae for an example.) See also: [hardEdge], which is a little faster, but with lower fidelity. [antiAliasWithSaveLayer], which is much slower, but can avoid the bleeding edges if there's no other way. [Paint.isAntiAlias], which is the anti-aliasing switch for general draw operations."/>
<itemvalue="The key for each field is be the camel-cased name of the field."/>
<itemvalue="Clip, but do not apply anti-aliasing. This mode enables clipping, but curves and non-axis-aligned straight lines will be jagged as no effort is made to anti-alias. Faster than other clipping modes, but slower than [none]. This is a reasonable choice when clipping is needed, if the container is an axis- aligned rectangle or an axis-aligned rounded rectangle with very small corner radii. See also: [antiAlias], which is more reasonable when clipping is needed and the shape is not an axis-aligned rectangle."/>
<itemvalue="Returns an Object representing Proto3 JSON serialization of `this`."/>
<itemvalue="No clip at all. This is the default option for most widgets: if the content does not overflow the widget boundary, don't pay any performance cost for clipping. If the content does overflow, please explicitly specify the following [Clip] options: [hardEdge], which is the fastest clipping, but with lower fidelity. [antiAlias], which is a little slower than [hardEdge], but with smoothed edges. [antiAliasWithSaveLayer], which is much slower than [antiAlias], and should rarely be used."/>
<itemvalue="A configuration for [AudioSession] describing what type of audio your app intends to play, and how it interacts with other audio apps. You can either create your own configuration or use the following recipes: [AudioSessionConfiguration.music]: Useful for music player apps. [AudioSessionConfiguration.speech]: Useful for podcast and audiobook apps. You can suggest additional recipes via the GitHub issues page."/>
<itemvalue="Whether the start of this range precedes the end."/>
<itemvalue="android audio attributes"/>
<itemvalue="Whether this range represents a valid position in the text."/>
<itemvalue="AV audio session set active options"/>
<itemvalue="The range of text that is still being composed. Composing regions are created by input methods (IMEs) to indicate the text within a certain range is provisional. For instance, the Android Gboard app's English keyboard puts the current word under the caret into a composing region to indicate the word is subject to autocorrect or prediction changes. Composing regions can also be used for performing multistage input, which is typically used by IMEs designed for phonetic keyboard to enter ideographic symbols. As an example, many CJK keyboards require the user to enter a Latin alphabet sequence and then convert it to CJK characters. On iOS, the default software keyboards do not have a dedicated view to show the unfinished Latin sequence, so it's displayed directly in the text field, inside of a composing region. The composing region should typically only be changed by the IME, or the user via interacting with the IME. If the range represented by this property is [TextRange.empty], then the text is not currently being composed."/>
<itemvalue="feat: reduce loading timeout of webview."/>
<itemvalue="AV audio session category"/>
<itemvalue="feat: update spar pack page; set cache mode of webview to LOAD_CACHE_ELSE_NETWORK only when not connected to network."/>
<itemvalue="android audio focus gain type"/>
<itemvalue="Overrides the way the cache is used. The way the cache is used is based on the navigation type. For a normal page load, the cache is checked and content is re-validated as needed. When navigating back, content is not revalidated, instead the content is just retrieved from the cache. This method allows the client to override this behavior by specifying one of LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY. The default value is LOAD_DEFAULT."/>
<itemvalue="audio session configuration"/>
<itemvalue="in Premultiplied"/>
<itemvalue="av audio session set active options"/>
<itemvalue="PDF 417_COMPACT"/>
<itemvalue="center"/>
<itemvalue="MARGIN"/>
<itemvalue="This example includes a generic `SpinnerField<T>` class that you can copy into your own project and customize."/>
<itemvalue="MAX SIZE"/>
<itemvalue="This example includes a generic `SpinnerFie into your own project and customize."/>
</histories>
</histories>
<optionname="languageScores">
<optionname="languageScores">
<map>
<map>
<entrykey="CHINESE"value="322"/>
<entrykey="CHINESE_SIMPLIFIED"value="68"/>
<entrykey="ENGLISH"value="323"/>
<entrykey="ENGLISH"value="68"/>
<entrykey="HAWAIIAN"value="1"/>
<entrykey="POLISH"value="1"/>
<entrykey="ROMANIAN"value="1"/>
</map>
</map>
</option>
</option>
</component>
</component>
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.